这些是我执行的步骤顺序:
- 将我在分支中的更改提交给本地 master(提交 ID
dc9afg2k
) git fetch origin master && git merge origin master
git checkout master
git pull
(这 pull 了所有最近的更改)git fetch origin master && git merge origin master
git reset --hard origin/master
git checkout 分支
git 博客
git reset --hard dc9afg2k
(提交成功)git checkout master
git log
(这可以追溯到 2 天前)。git pull
(master
没有更新当前的origin/master
)。
最佳答案
当远程仓库收到 forced push 时,可能会发生不同步 master
(git push --force
) 重写历史。
如果您已经在 master 上完成了自己的提交:
做一个分支(记住当前的master状态)
git 分支 old_master确保您没有任何需要保存的私有(private)文件。
那就是:
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
之间 merge 之前。
如果您不做那个差异,那么 git pull
会更简单。
关于git - git pull master 的问题与 origin master 不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907689/