我克隆了一个repo,然后,稍后我想拉取最新版本。我在本地没有做任何修改或提交。
然而,git pull是这样说的:
fatal:需要指定如何协调发散分支。
git status说:
Your branch and 'origin/main' have diverged,
and have 2 and 1 different commits each, respectively.
我还没有做出承诺。只有作者有。
如果我执行git log
,我可以看到所有提交都是由原作者提交的,而不是我。
我怎样才能知道为什么git认为我已经提交了一个commit?
2条答案
按热度按时间zhte4eai1#
似乎有人强行推到了远程
main
分支有效地删除本地分支已知的最后两个提交,并用新的提交替换它们。
如果没有未提交的更改,可以使用以下命令调整本地分支,使其指向与远程分支相同的提交
简短版本:
q7solyqu2#
(类似于Jay,但使用我经常使用的命令更简单。也就是说,我认为他的回答很棒。所以如果你投我的票,我想你应该投他的票。)
似乎有人强制推送到了远程主分支,有效地删除了本地分支已知的最后两个提交,并用新的提交替换它们。
您可以调整本地分支,使其指向与远程分支相同的提交
git reset --hard origin/main