以下是我执行的步骤序列:
dc9afg2k
)git fetch origin master && git merge origin master
git checkout master
git pull
(这取消了所有最近的更改)git fetch origin master && git merge origin master
git reset --hard origin/master
git checkout branch
git blog
git reset --hard dc9afg2k
(提交成功)git checkout master
git log
(这可以追溯到2天前)。git pull
(master
未使用当前origin/master
进行更新。答案 0 :(得分:18)
当远程仓库收到重写历史记录的forced push(master
)时,可能会发生不同步git push --force
。
如果您已经在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
:保持两个步骤分开的兴趣是在合并之前查看master
和origin/master
之间的差异。<登记/>
如果你没有做出差异,那么git pull
会更简单。