2011-08-06 9 views
10

git newbieここに、これは簡単ですね。私はこれまでに見たいくつかのgit基本文書でこれを見つけることができません。"git add"の後のファイルへのその後の変更

"git add file1"を実行して、ファイルをインデックスに入れました。この直後に "git diff --cahced"は正しいdiffの内容を示します。

次に、file1をさらに変更しました。今度は "git diff --cached"は以前に表示された差分コンテンツを表示し、新しい変更は表示されません。これは、私が "git add"を実行したとき、つまりファイルをステージングしたときに、インデックスがfile1の内容のスナップショットを持っていると私に信じさせます。

これは間違いありませんか?そして、その後のコミットは、 "git diff --cached"が私に表示されているもの、またはコミットが発行されるまでの私のすべての変更をコミットしますか?

+0

私はこれに気がついたときに働いていたし、wkendのドキュメントから自分自身を明確にする予定だった。次回は試してみる。 –

答えて

5

これはインデックス全体のポイントです。コミットする変更が含まれています。 -aを使用しない場合、git commitは、その内容(ツリー)が索引内にあったコミットを作成します。

とは何ですか?git addとは、ファイル(またはディレクトリ)を作業コピーからインデックスにコピーします。

これは便利な方法の1つで、git add -pです。これは、ファイルの変更を確認し、インデックスに選択した変更のみを含むファイルのバージョンを追加します。

+2

"git addは、ファイルをコピーしますか?" - gh addの私の考えは、ファイルをコミットするファイルのリストに追加したことです。解明してくれてありがとう!今私は作業領域とステージング領域のより良いイメージを持っています。 –

関連する問題