Git diffに表示されていない追跡されていないファイルがあり、それを「コミットする変更」エリアに追加しても、git diffには表示されません。 git status -v
HEADに対してdiffを行うとき。
私はまだgitに慣れていないので、ステージング領域に追加されているため、通常のdiffに表示されない場合でもファイルがコミットされるかどうかを教えてください。
Diffでstagedの変更を確認したい場合は、git diff
、渡す必要があるのは--staged
国旗:
david@pav:~/dummy_repo$ echo "Hello, world" > hello.txt
david@pav:~/dummy_repo$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# hello.txt
nothing added to commit but untracked files present
david@pav:~/dummy_repo$ git add hello.txt
david@pav:~/dummy_repo$ git diff
david@pav:~/dummy_repo$ git diff --staged
diff --git a/hello.txt b/hello.txt
new file mode 100644
index 0000000..76d5293
--- /dev/null
+++ b/hello.txt
@@ -0,0 +1 @@
+Hello, world
どのファイルがステージングされるかだけを気にする場合は、もちろんgit status
、 だが git diff --staged --name-only
は、それぞれの行にステージングされた各ファイル名を与えます。
あなたが見たように。 _git status
_で表示されるため、_git commit
_を実行するとコミットされます。
Gitx(Mac)やgitg(Linux)などの視覚的なgitツールを使用すると便利な場合があります。
ステージングではなくステージングなどを表示する素敵なパネルがあります。
現在、そのステータスに変更はないため、スクリーンショットは控えめに見えます。
「git add __」と入力した場合、ファイルは次のコミットに含まれます。このコミットは、「git Push」を実行するとサーバーにプッシュされます。
David Cainのトップアンサーに次のニュアンスを追加したいと思います:コマンド...
git diff --staged
...段階的な変更のみを表示します(@rogerdpackが指摘したように)。
さて、もしあなたが単一のファイルの差分を生成した後にだけなら、追加するものは何もありません。ただし、「最新のHEAD以降のすべての変更」を含むdiffファイルを生成する場合は、(1。)すべてのファイルを変更してステージングする必要があります( 2.)diffを実行します(3.)次のように、すべてのファイルのステージングを解除します。
git add -A
git diff --staged HEAD
git reset
言うまでもなく、これらのコマンドは、以前にステージングされたファイルとステージングされていないファイルをallで混乱させるため、多くの場合は注意が必要です。一時ファイルが横たわっています。詳細については、 git diff's のマニュアルページを参照してください。