Git
クイズ
あるフォルダの中に以下のファイルがあります.
最新のファイルはどれか.
議事録フォルダ
├── 20210701議事録.txt
├── 20210701議事録0702再修正.txt
├── 20210701議事録0702追記_確認依頼.txt
├── 20210701議事録0702追記.txt
├── 20210701議事録0702修正.txt
├── 20210701議事録0702修正2_チェック済.txt
├── 20210701議事録0702修正2.txt
├── 20210701議事録0702再修正.txt
├── 20210701議事録0702最終.txt
├── 20210701議事録0702追記.txt
└── 議事録.txt
このような悲劇を防ぐのが Git である.
「バージョン管理」
ファイルを更新していく際,以前の状態も残しておきたいことは多い.
- 修正点がわかるようにしたい.
- 不具合があった場合に,以前の状態に戻せるようにしたい.
しかし,これらを実現しようとすると「いくつもの状態のファイル」を複数残しておく必要がでてくる.
Git は上記を実現するための「更新履歴を管理するツール」である.
例
じゃんけんのアプリケーションをつくる際に Git を使ってバージョンを更新する流れ
ファイルのバージョン | ファイルに対してやったこと | Git でやること |
---|---|---|
1 | グーチョキパーのボタンをつくった | いまのバージョンをiw83n5 とする |
2 | グーボタンでコンピュータが手を出す機能を追加した | いまのバージョンを21nvr7 とする |
3 | チョキボタンとパーボタンでコンピュータが手を出す機能を追加した | いまのバージョンを98nieh とする |
4 | 勝数をカウントする機能を追加した | いまのバージョンをmvre92 とする |
このように「Git を使って管理」しておくと,以下のことができる.
- ファイルは最新の状態のもの 1 つだけが残される.
- 変更の履歴(追加や削除した文字列など)が全て記録される.
iw83n5
などの文字列(ハッシュと呼ぶ)を指定することで,以前のバージョンに戻すことができる.- 他にもいろいろあるが,今回は省略.
このように,Git を使ってファイルを管理しておくと,「致命的なバグが発生したとき」「機能を追加しようとしてすでに動いている部分が動かなくなってしまったとき」などに「うまく動いていた状態」まで戻すことができる.