web-dev-qa-db-ja.com

git addの後、git diffにファイルが表示されません。コミットされることをどのように確認できますか?

Git diffに表示されていない追跡されていないファイルがあり、それを「コミットする変更」エリアに追加しても、git diffには表示されません。 git status -v HEADに対してdiffを行うとき。

私はまだgitに慣れていないので、ステージング領域に追加されているため、通常のdiffに表示されない場合でもファイルがコミットされるかどうかを教えてください。

34
Kitty1911

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は、それぞれの行にステージングされた各ファイル名を与えます。

45
David Cain

新しいファイルを含む最後のコミット以降の作業ツリーのすべての変更を表示するには、次を使用します。

git diff HEAD

他の例をご覧ください: git-diff

26
milkovsky

あなたが見たように。 _git status_で表示されるため、_git commit_を実行するとコミットされます。

Gitx(Mac)やgitg(Linux)などの視覚的なgitツールを使用すると便利な場合があります。

ステージングではなくステージングなどを表示する素敵なパネルがあります。

enter image description here

現在、そのステータスに変更はないため、スクリーンショットは控えめに見えます。

5
Michael Durrant

「git add __」と入力した場合、ファイルは次のコミットに含まれます。このコミットは、「git Push」を実行するとサーバーにプッシュされます。

1
tom

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 のマニュアルページを参照してください。

0
Xavi