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