Gitを使ったバージョン管理

Git とは

Git とは分散型バージョン管理システム。指定したタイミングでファイル・ディレクトリのスナップショットを保存し、いつでもそのスナップショットを復元できる。
テキストファイルの扱いが得意だが、テキストファイルじゃなくても管理できる。

使い方

プロジェクトのためにディレクトリを作成し、そのディレクトリでgit initを実行すると、その中に.gitディレクトリが作成される。 この作成したディレクトリを"ワーキングツリー"、作成された.gitを"リポジトリ(ローカルリポジトリ)"と呼ぶ。この"ワーキングツリー"で作業された内容を Git の管理対象とすることができる。

1$ mkdir sample
2$ cd sample
3$ git init

sample ディレクトリの中でファイルを作成、編集する。スナップショットに含めたいファイルを対象にgit addすると、.gitディレクトリの中のindexというファイルに記録される。

1$ touch README.md
2$ echo 'SAMPLE' >> README.md
3$ git add README.md

これをステージングという。"インデックス"がいい感じになったらgit commitしてスナップショットを記録する。このスナップショットを"コミット"と呼ぶ。"コミット"は`.git/object/'に記録され、最新コミットを指し示す HEAD がこのコミットに設定される。

1$ git commit -m"add README.md"

また、ファイルを編集してgit add(ステージング)、git commit(コミット)すると、その時点のスナップショットが"コミット"として記録され、HEAD が移動する。
そのとき、前回のコミットの子どもとして関連付けられる。

1$ echo 'PROJECT' >> README.md
2$ git add README.md
3$ git commit -m"updated README.md"

コミットとコミットの間の差分を確認したり、なかったことにしたり、好きなコミットに戻ったりすることでバージョン管理が可能となる。