执行 git 恢复的步骤

Bay*_*ook 0 git github

我需要返回到良好的配置,这意味着返回过去的多次提交和 1 次合并。

有人可以确认正确的步骤吗?或者让我知道这是否是正确的过程。

git checkout master
git revert commita, commitb, (merge happened between b&c), commit c
git push 
Run Code Online (Sandbox Code Playgroud)

??

谢谢

Nic*_*kin 5

有两个关键问题:

  1. 你推送到远程仓库了吗?下游是否有其他人已经拥有损坏的版本?
  2. 那些最后的提交或某些提交又回到了历史中?

如果你想要备份。(拥有它通常是个好主意。)

git branch backup_description
Run Code Online (Sandbox Code Playgroud)

仅最后一次提交,包括合并提交,尚未推送或下游没有其他用户。

git reset --hard <sha-where-it-all-worked-well>
git push --force origin/master
Run Code Online (Sandbox Code Playgroud)

下游有用户,或者提交又回到了历史记录中。

git revert commita
git revert -m 1 mergecommit
git push
Run Code Online (Sandbox Code Playgroud)

这也有帮助:

  1. https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt
  2. 插图。 在此输入图像描述