如果我运行这些命令:
On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
me:cdt-now me$ git diff
me:cdt-now me$
所以没有差异 - 是因为我需要做
git diff origin/dev
我原以为git diff会默认为
git diff origin/dev
但也许不是。
答案 0 :(得分:2)
默认情况下,git diff
会查看您当前的分支,看看是否存在任何差异。因此,如果您对当前分支上的未分阶段进行了一些更改,则git add .
会显示这些差异。一旦您进行了更改(git diff --cached
),除非您指定git diff
,否则您将看不到它们。
关于origin/dev
对分支的行为,当你指定另一个分支时,是的,它应该对它进行区分。默认情况下,如果您只是从远程分支分支,git diff然后指定分支应该扩展当前分支(索引是更合适的术语)和diff指向您指定的分支。但请注意,您的git fetch
是远程分支的本地代表,您需要确保通过git diff
更新。
同样在您的情况下,您似乎已提交了更改。对分支的HEAD
应显示差异,但如果这是您的本地分支,并且您只是想再次看到上次提交的差异,请记住您还可以指定git diff HEAD~1
引用并返回X数字提交。因此,要查看上次提交的差异,您可以执行{{1}}
有关git diff的更多信息。