変更をリポジトリに記録することで、はじめてGitはGitらしい使い方ができるようになる。
リポジトリに記録するというと少々難しいかもしれないが、ゲームでいうところの「セーブ」のようなものでそのタイミングで一度記録を残すことだ。
このページではリポジトリの記録方法についてお伝えしよう。
Gitで変更をリポジトリに記録するとは?
変更をリポジトリに記録するとは、ワーキング・ディレクトリのコンテンツの変更をリポジトリに記録する作業だ。
バージョン管理したいコンテンツを選んでその変更を記録する。
Gitを使った作業の流れは次の通りだ。
- インデックスにgit addでコンテンツを追加する。
- 変更をgit commitでリポジトリに記録する。
では、基本的なGitの使い方と流れを見てみよう。
インデックスにコンテンツを追加する
インデックスにコンテンツを追加するとは、リポジトリにあるインデックス(index)にコンテンツ(ファイルなど)を追加することだ。この操作は、次に行うコミット(commit)のための準備となる。コミットの対象となるのはインデックスに追加されたファイルのみだ。
コマンドの基本は簡単だ。
git add [ファイル名]
まとめてJavaプログラム・ファイルを追加したい時は、ファイル名に「*.java」と指定する。また、全てのファイルを指定する場合は「.」を指定する。
コマンドの実行の仕方を確認していこう。
使い方と流れ
ローカルのリポジトリを操作するためにリポジトリのあるディレクトに移動する。そのディレクトリ直下にあるProgram.javaファイルをgit add コマンドを使ってインデックスに追加する。
実行結果
ファイルがインデックスに追加されたかどうかは、git statusコマンドで確認できる。コマンドを実行すると、Program01ファイルの状態がUntracked filesからnew fileに変わっている。
変更をリポジトリに記録する。
変更をリポジトリに記録するとは、インデックスに登録された現在のコンテンツの変更をリポジトリに記録することだ。前のセクションでも説明したように、git addコマンドを実行しただけでは変更の記録はおこなわれない。コミットを行って初めて変更がリポジトリに記録される。
コマンドの基本は簡単だ。
git commit -m [コメント]
コマンドの実行の仕方を確認していこう。
使い方と流れ
現在のインデックスに登録されたコンテンツの変更をgit commitコマンドにより記録する。既にProgram01がインデックスに登録されているので、そのファイルの変更が記録される。
実行結果
コマンドgit statusを実行すると、コミットするものが何もなくなった(nothing to commit)ことが表示される。
コマンドgit logを実行すると、コミットが実行されたことが付加的な情報とともに記録されていることが分かる。
まとめ
このページではgit addからgit commitする基本的な流れをお伝えしてきた。git addでバージョン管理をする対象にして、git commitでそれを保存する形だ。
GUIツールでもできるが、基本的な使い方なのでコマンドでもできるように理解し、覚えておこう。