Gitに関するメモについて記載する。自分の頭の中を整理するための記載で、一般性のない記述も含む。
用語
リポジトリ
ファイルやディレクトリの変更履歴が記録された場所。リモートリポジトリとローカルリポジトリがある。作業の基点とするリモートリポジトリは「origin」という名前をつけるのが一般的。
コミット(commit)
リポジトリに変更を記録する操作。なるべく一つの意味をもつ作業をひとまとめにして(あるバグの修正や、ある機能の追加等)一つのコミットにする。各コミットには重複のない英数字40桁の名前がつけられる。
ワークツリーとインデックス
ワークツリーは実際に作業しているディレクトリ。インデックスはリポジトリに含めるファイルの一覧。インデックスにステージする。
プッシュ(push)
リモートリポジトリにローカルリポジトリの変更履歴をアップロードする操作。
クローン(clone)
リモートリポジトリをローカルリポジトリとしてコピーする操作。
プル(pull)
リモートリポジトリの変更内容をローカルリポジトリに反映する操作。
チェックアウト(check out)
ブランチを切り替える操作。check outすると、移動先のブランチの最後のコミットの内容がワークツリーに展開される。check out後に行ったcommitは移動先のブランチに追加される。
マージ(merge)
トピックブランチをマスターブランチに統合する操作の一つ。
リベース(rebase)
トピックブランチをマスターブランチに統合する操作の一つ。rebaseはトピックブランチで行う。トピックブランチの枝をポキッとおって、マスターブランチにつけるイメージ。rebaseするとトピックブランチのポインタは先頭へ移動するが、マスターブランチのポインタはもとのままとなる。マスターブランチに統合するにはmergeする必要がある。