git pull master的问题与origin master不同步

use*_*790 9 git git-pull git-fetch git-branch

这些是我执行的一系列步骤:

  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 (这回到了2天前).
  12. git pull(master不是用当前更新origin/master).

Von*_*onC 19

master当远程repo收到重写历史记录的强制push(git push --force)时,可能会发生不同步.

如果您在master上完成了自己的提交:

  • 做一个分支(记住当前的主状态)
    git branch old_master

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

  • 按照本指南

那将是:

git fetch origin
git reset --hard origin/master
git clean -f -d
Run Code Online (Sandbox Code Playgroud)

(你可以用一个"预览上次清洗STEAP -n"选项:git clean -n -f -d)


请注意,这git fetch origin master && git merge origin master可能是git pull origin master:保持两个步骤分开的兴趣是查看合并之间masterorigin/master之前的差异.
如果你没有做出差异,那么a git pull就更简单了.