我有2个分支A和B。 我对A进行了一些更改并提交了它们。 然后,我对A进行了更多更改(错误)。 我将它们推到B并提交。
但是现在我看到对A(旧)和B(新)的更改已提交。我该如何还原?
答案 0 :(得分:1)
如果您已推送提交,则意味着远程分支受到影响(而不仅仅是本地分支)
您需要将提交从B樱桃拣选到A(假设错误地只对B进行了一次提交):
git switch A
git cherry-pick B
git switch B
git reset --hard B~
git push --force
这将覆盖B的历史记录,如果有多个协作者正在远程仓库中工作,则可能会出现问题。
另一种选择是还原B HEAD,添加一个附加提交以取消最后一个的内容。
git switch B
git revert @
git push
在此不需要--force。
答案 1 :(得分:0)
git checkout <branchname>
git reset --hard <commitid>
这会将所有内容恢复到原始状态。如果您还有其他意思,请详细说明。
关于, Zenima