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

时间:2013-09-20 01:48:44

标签: git git-branch git-pull git-fetch

以下是我执行的步骤序列:

  1. 将我在分支中的更改提交到本地主服务器(提交标识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 pullmaster未使用当前origin/master进行更新。

1 个答案:

答案 0 :(得分:18)

当远程仓库收到重写历史记录的forced pushmaster)时,可能会发生不同步git push --force

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

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

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

  • follow this guide

那将是:

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会更简单。