LinuxさんでGitを使う~すべての差分を比較する~
はじめに
くーばねてすをやっつけるためにLinuxさんと仲良くさせていただいているが、LinuxさんでもなんとGitをインストールしてファイルの変更管理ができるそうだ!
LinuxさんでGit!
概要
■ワークツリー、インデックス、リポジトリの差分の比較をする
■細かい単位でコミットする
をまとめた^^
■ワークツリー、インデックス、リポジトリの差分の比較をする
・ワークツリーとインデックスの差分を比べる
ワークツリーとインデックスの差分を調べるには、シンプルにオプションなしでgit diffコマンドだけ。
$ git diff
ちなみにワークツリーからインデックスにコミットした直後は両方とも同じ内容なのでコマンドを入力しても差分は発生してないので内容は表示されない。
□インデックスとリポジトリの差分を比べる
インデックスとリポジトリの差分を調べるのはオプション--cachedを付ける。キャッシュド!
$ gitt diff --cached
cachedオプションでインデックスとリポジトリの差分がでてくる。
もしコミットしたらこの内容でリポジトリに登録されることになるのでコミットする前に--cachedオプションで確認するといい。
□ワークツリーとリポジトリの差分を比べる
最後にワークツリーとリポジトリの差分を比較するのには、HEADという引数を指定する。
$ git diff HEAD
なんで頭なんだろう?('_')
■細かい単位でコミットする
Gitでワークツリーとインデックス、編集が2つの領域に分かれているのは細かいコミットができるようにするためである。
いくつかの内容を更新したい時に、まとめて一緒に更新してしまうとどの箇所をどんな内容で変更したのか分かりにくいが、変更内容によって分割し、コミットしたいところだけインデックスに追加すれば分かりやすい更新情報を記録することができる。
しかし変更内容がいくつかあるときは、1つ1つのファイルを1回ずつインデックスに追加していくのは大変なので便利なgit addオプションをまとめた。
□変更したファイルをすべてインデックスに登録する
$ git add -u
-uオプションで変更のあったファイルだけをインデックスに追加できる。
しかし新規作成して一度もコミットしてないファイルはインデックスに追加することができない。
新しいファイルもインデックスに追加するには-Aオプションをつかう。
□変更したファイルも新規作成ファイルもすべてインデックスに登録する
$ git add -A
-Aは多分allって意味!('_')
まとめ
差分とコミットの単位を勉強した!
Discussion