git - バージョン管理システムを利用する

スポンサーリンク

Gitは分散型のバージョン管理システムになります。GitはSubversionのような集中型のバージョン管理システムと異なり、ファイルのすべての変更履歴をそれぞれのマシンが持ちます。そのため、リポジトリを管理しているサーバーにアクセスできなくても、プロジェクトの履歴を確認することができます。

Gitの初期設定

Gitの初期設定
Gitでバージョン管理を行う場合、リポジトリを作成するのには必要ありませんが、リポジトリに管理したいファイルを記録する(コミット, commit)ときに名前やメールアドレスを設定する必要があります。設定するコマンドの例はgit config...

リポジトリの作成とクローン

コマンド説明
git initリポジトリの作成
git cloneリポジトリのクローン
リポジトリの作成とクローンの例
作業ディレクトリのあるノンベアリポジトリを作成記録したいファイルがあるディレクトリに対してgit initのコマンドをすることでリポジトリを作成できます。~/TestProject$ git initInitialized empty Gi...

リポジトリへの記録

コマンド説明
git statusステージング状態の確認
git addファイルの追跡とファイル修正後のステージング
git diffステージングと作業ディレクトリの比較
git commitコミット。ステージングされたファイルをリポジトリへ記録
git rmファイルの追跡解除と削除
git mvファイルの移動(名前の変更)
ファイル説明
.gitignore無視するファイルを設定
リポジトリへの記録の例
ステージング状態の確認 (git status)git statusはステージング状態を確認できます。ファイルのステージング(Staging)は、Gitで変更を追跡し、次のコミットに含める準備をするプロセスです。ステージングを行うことで、変...

コミット履歴の閲覧

コマンド説明
git logコミット履歴の閲覧
git checkout <コミットのチェックサム>コミットのチェックアウト。
チェックサムは一部でも可(一意になるよう7文字ぐらいの指定が多い)
記録したコミットを作業ディレクトリに反映
コミット履歴の閲覧の例
コミット履歴の閲覧 (git log)git logでコミット履歴を確認できます。オプションによって表示を大きく変えることができます。ここでは大まかに4つの表示について紹介します。通常の表示(特に特別なオプションを用いない場合)簡潔なグラフ...

作業のやり直し

コマンド説明
git commit --amendコミットのやり直し
git resetステージしたファイルの取り消し
git checkout -- <ファイル>ファイルへの変更の取り消し
作業のやり直しの例
作業のやり直しは基本的にローカルリポジトリでの作業をやり直すときに使います。プライベート利用のリモートリポジトリを除いて、基本的にリモートリポジトリへすでにプッシュされているコミットをやり直してはいけません。コミットのやり直し (git c...

リモートでの作業

コマンド説明
git remote -vリモートサーバーの確認
git remote addリモートリポジトリの登録を追加
git fetchフェッチ。リモートリポジトリの内容をダウンロード
git pullフェッチとマージの連続操作
git pull --rebaseフェッチとリベースの連続操作
git pushプッシュ。リモートリポジトリへの記録
git remote showリモートリポジトリ情報の表示
git remote renameリモートリポジトリの登録の名前の変更
git remote rmリモートリポジトリの登録を解除
リモートでの作業の例
ここではリモートリポジトリとしてLocalプロトコルを用います。ローカルリポジトリはLocalReposディレクトリに、リモートリポジトリはRemoteReposディレクトリで管理するとします。リモートサーバーの確認 (git remote...

タグ

コマンド説明
git tagタグの一覧表示
git tag -l <パターン>パターンでのタグ検索
git tag <タグ名>軽量版のタグ。コミットのチェックサムを追加でタグの後付け
git tag -a注釈付きのタグの追加。-mの追加でエディタを開かずメッセージを追加。コミットのチェックサムを追加でタグの後付け
git show <タグ名>タグが付いたコミットの情報を表示
git tag -d <タグ名>タグの削除
git push origin <タグ名>タグの共有。originはリモートリポジトリの名前
git checkout -b <ブランチ名> <タグ名>ブランチを作成してタグのチェックアウト
Gitタグ管理の使い方:作成、共有、削除等を解説
この記事では、Gitにおけるタグ管理の基本について解説します。重要なコミットについてはタグをつけることができます。タグの確認方法、軽量タグと注釈付きタグの作成手順、タグの注釈やコミット情報の確認方法、タグの削除手順、リモートリポジトリへのタ...

エイリアス

コマンド説明
git config --global alias.co checkoutエイリアスの設定(コマンドは設定例の一つ)

ブランチ

コマンド説明
git branch <ブランチ名>ブランチの作成
git checkout <ブランチ名>ブランチの切り替え
git merge <マージ先のブランチ名>現在いるブランチにマージ先のブランチをマージ。
マージ完了後にマージ先のブランチは必要がなければ削除しても良い
git mergetool競合内容をマージツールを使って解決 
vimdiff, Meld, opendiff, WinMerge等マージツール
git branch -d <ブランチ名>ブランチの削除
git branchブランチの一覧表示
GitブランチとGitマージ:ブランチの基本操作とマージ操作について
この記事は、Gitのブランチ管理の基本操作について解説します。ブランチの一覧表示や作成、切り替え、マージの方法を説明します。ブランチのマージ時に発生する競合の解決方法についても述べています。競合解決にはマージツールの使用が推奨です。その設定...

パッチの適用

このパッチの適用はコミットの一つ一つをパッチと考えてコミット履歴の途中を変更した場合にそのパッチを再適用していきコミットを作成し直すようなコマンドのことを述べています

コマンド説明
git rebase <ブランチ名>パッチを取得するブランチを指定し適用して現在のブランチのパッチを適用
git cherry-pick現在のブランチに特定のコミットのパッチを適用
git revert特定のコミットを元に戻す
Gitリベースの使い方:競合解決とコミット履歴の整理方法
この記事では、Gitリベースの基本操作とその利点について詳しく解説します。git rebaseコマンドを使ってブランチを整理し、コミット履歴を直線的に保つ方法を紹介。競合が発生した際の解決手順や、インタラクティブリベース(git rebas...
git cherry-pickの使い方:特定のコミットをブランチに適用する方法
この記事では、Gitのcherry-pickコマンドを使って、特定のコミットを現在のブランチに適用する方法を詳しく解説します。cherry-pickは、別のブランチで行われた修正を簡単に取り込むことができる便利なツールです。競合が発生した場...
git revert:ミスを修正する手段
この記事では、Gitのgit revertコマンドについて解説します。git revertは、まるで修正テープや修正ペンのように、過去のミスを修正する手段として機能します。競合が発生した場合の対処法も少し説明します。特定のコミットを元に戻す...

Tips:

プロンプト文字列の単純な設定例