開発環境充実のために分散型バージョン管理システムのGitの勉強をしています。参考書を読んだり、GitHubのアカウントを取得したりして、勉強を進めているのですが、今まで使っていたSubversionに比べて、さらに便利で役立ちそうです。特にネットに接続していない環境でもバージョンの管理ができるのはとても魅力的に映ります。
「入門Git」を読みながら書いたメモを残します。
- Author(著者)とCommiter(記録者)の2つの情報を記録できる。
- コミット家系図を縦書きにするときは、下に古いコミット、上に新しいコミットを配置する。
- GnuPGの電子署名付きタグを付加できる。
- コミットされた成果物と編集中の成果物(=ワークツリー)の中間にインデックスという成果物(状態)がある。ワークをリポジトリに反映させる緩衝領域(バッファ)のような状態。
- 3-way mergeの社会的前提条件、の説明は大変面白い。達成したい目標の互換性。
- バックアップファイルやオブジェクトファイルなど版管理の対象外にしたいファイルは .gitignore にリストアップすれば良い。
- git add -p でコミット対象を選択/除外できる。
- インデックスを介することでコミットをアンドゥする(取り消す)操作ができる。
- リポジトリの複製(clone)、そしてpull/pushができる。