Git(バージョン管理)
Webサーバーの設定ファイルを直す前に、日付つきのコピーを作っていたら
「コピーで残すんじゃなくて、Gitで管理して」
「Git(バージョン管理)」って、何のことだろう…?
Gitは、ファイルの変更の履歴を残す道具です。
変更をひと区切りごとに「コミット」として記録し、いつ・誰が・どこを・なぜ変えたかをあとから見られるようにします。このようなしくみを「バージョン管理」といいます。
このページで分かること
- Gitは、ファイルの変更の履歴を残す道具(バージョン管理システム)
- 変更をひと区切りごとに「コミット」として記録する
- 前の状態と見比べたり、前の状態に戻したりできる
- パスワードやアクセスキーはコミットしない
身近な例えで理解する
家の料理ノートに、作るたびに「10/27 塩を小さじ1→1/2に(しょっぱかったので)」と書き足していきます。前の分量も消さずに残っています。
- 1回分の書き足しコミット
- 「しょっぱかったので」という理由コミットメッセージ
- ノートに並んだ書き足しの記録履歴
- 前の分量で作り直す前の状態に戻す
「なぜ変えたか」が書いてあるので、あとで読み返したときに迷いません。
ちょっと確認
Q1先輩のひとこと
先輩「設定ファイルをGitで管理しておけば、昨日の変更が原因かすぐ分かるよ」
なぜ?
例えを外して、実際のしくみ
ここからは実際のしくみ
コミット
「ここまでの変更を記録する」操作です。どの変更を次の記録に入れるかを選び(git add)、メッセージをつけて記録します(git commit)。記録した一覧は git log で見られます
日付つきコピーとの違い
コピーを増やす方法では、どれが最新か、どこを変えたかが分かりにくくなります。Gitなら変更点(差分)を行ごとに見比べられ、前の状態にも戻せます
分散型
Gitは、作業する人それぞれの手元に履歴を丸ごと持ちます。ネットワークにつながっていなくても記録や見比べができます(チームで共有する場所は次のページのリポジトリ)
このページのまとめ
- Git
- ファイルの変更の履歴を残す道具(バージョン管理システム)
- コミット
- ひと区切りの変更を履歴に記録すること。記録した1回分
- コミットメッセージ
- そのコミットで何を・なぜ変えたかの説明
- .gitignore
- Gitで記録しないファイルを書いておくファイル
先輩のひとことの意味
先輩「コピーで残すんじゃなくて、Gitで管理して」
「日付つきのコピーを増やすのではなく、変更をGitのコミットとして記録して。そうすれば、いつ・誰が・何を・なぜ変えたかがあとから分かるし、まずいときは前の状態に戻せる」という意味です。
練習問題で確かめる
Q2先輩のひとこと
先輩「もしアクセスキーを書いたファイルをコミットしちゃって、次のコミットで消したとしたら、それで大丈夫だと思う?」
正しい考え方は?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。