删除了其他提交之上的新提交,其他人在早期提交上进行了新的工作,如何恢复已删除的提交?在检出要恢复的提交之前的最后一个提交时,pull 失败:分歧分支:
$ git pull
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge (the default strategy)
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
尝试一下,取自当您收到错误“提示:您有不同的分支,需要指定如何协调它们”时如何合并 - 堆栈内存溢出:
git config pull.rebase false
但是,git pull
仍然抛出:
Error:
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Auto-merging xzy/xyz/my_file.xyz
CONFLICT (add/add): Merge conflict in xzy/xyz/my_file.xyz
Auto-merging xzy/xyz/my_file.abc
CONFLICT (add/add): Merge conflict in xzy/xyz/my_file.abc
所以我最好用 再次将其设置为 true git config pull.rebase true
。
要做什么才能更新分支中的所有提交,然后将删除的提交推回到顶部?
我可以备份我的工作,硬重置为之前的提交,粘贴工作,然后再次提交工作。但应该有一个简单的 git 方法来实现这一点。我担心这是一个初学者的问题。我猜这可以通过从 reflog 中存储/重置/挑选来完成。