git pull master存在问题,原始主分支与远程主分支不同步

12
这是我执行的步骤:
1. 将分支中的更改提交到本地主分支(提交ID为“dc9afg2k”)。 2. 运行命令“git fetch origin master && git merge origin master”。 3. 运行命令“git checkout master”。 4. 运行命令“git pull”以获取所有最近的更改。 5. 再次运行命令“git fetch origin master && git merge origin master”。 6. 运行命令“git reset --hard origin/master”。 7. 运行命令“git checkout branch”。 8. 运行命令“git blog”。 9. 运行命令“git reset --hard dc9afg2k”(提交成功)。 10. 运行命令“git checkout master”。 11. 运行命令“git log”(回到了两天前的状态)。 12. 运行命令“git pull”(master分支没有更新到当前的origin/master)。
1个回答

29

当远程仓库接收到强制推送git push --force)重写历史记录时,就会出现不同步的master

如果您在master上进行了自己的提交:

  • 创建一个分支(以记住当前的master状态)
    git branch old_master

  • 确保您没有需要保存的任何私有文件。

  • 按照此指南操作

这将是:

git fetch origin
git reset --hard origin/master
git clean -f -d

(您可以使用“ -n ”选项预览最后一次清理步骤: git clean -n -f -d
请注意,git fetch origin master && git merge origin master 可以替换为 git pull origin master:将这两个步骤分开的好处是在合并之前查看 masterorigin/master 之间的差异。
如果您不需要进行此差异比较,则使用 git pull 更加简单。

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