本地回购和原始回购之间的Git差异

时间:2017-07-19 22:35:06

标签: git

如果我运行这些命令:

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

但也许不是。

1 个答案:

答案 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的更多信息。