Git空提交,没有更改

6
我正在尝试解决一个看似随机出现的问题,每隔几天就会出现一次。我切换到一个从未操作过的分支,并被告知我比远程分支“ahead”,尽管我没有在此分支上进行任何提交。然后我试图找出我做了哪些本地更改,但是并没有发现任何更改。过去,执行git push似乎可以解决这个问题,但是我们盲目地推送不知道什么内容会让我们非常紧张,而不理解根本原因。下面是一个命令,我认为它说明了我的困惑。如果我领先于远程,那么git diff不应该返回我的更改吗?我认为我已经与远程保持同步,这就是我尝试通过包含git fetch/git pull命令来展示的。
  $ echo '====FETCH====' && git fetch && echo '====PULL====' && git pull && echo
'====STATUS====' && git status && echo '====DIFF====' && git diff && echo '====
DIFF ORIGIN/DEV====' && git diff origin/dev


====FETCH====
====PULL====
Already up-to-date.
====STATUS====
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 directory clean
====DIFF====
====DIFF ORIGIN/DEV====

有人知道这里发生了什么吗?


更新的示例。没有区别。 - GWLlosa
2
这可能是一个合并提交。如果远程仓库的历史和你本地仓库的历史分叉,并且你执行了 git pull,就会出现这些提交。使用 git log --graph 命令,你应该能够查看提交历史并确认这一点。 - Holger Just
1个回答

1

根据我的理解,这似乎是git的合并提交。您可以检查日志并检查提交的注释。您可以轻松地确定它是否是合并提交。


这似乎是事实。我认为由于我们将 merge.ff 设置为 false,git pull 现在正在生成合并提交。 - GWLlosa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接