我做了一些混乱在我的回购,我不明白在所有。
出现了一个奇怪的提交:
commit 70 cc 4 bd 585019286 ef 64 ef 591 f1 b6 ab 310484 eb 3(HEAD,origin/master,origin/HEAD,master)合并:960 b 06 a 709 f964作者:DuchSuvaa email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)日期:电话:+86-020 - 8888888传真:+86-020 - 88888888
Merge branch 'master' of https://github.com/DuchSuvaa/monitor-kolejek
我真的不明白这是怎么发生的。有人告诉我git reset --hard HEAD~1可以完成这项工作,但当我这样做时,我被 checkout 到第三个(!)从最后提交,并没有从GitHub中删除任何内容。
如何从Github上的repo中删除有问题的合并提交?
2条答案
按热度按时间6l7fqoea1#
git log --oneline
1.在合并一之前复制提交哈希。
git reset --hard <copied-commit-hash>
git push --force
(小心,它会重写远程历史记录)lb3vh1jj2#
代码没有变化,因为您正在本地分支上工作。
将军,我分两个案子
1.如果您没有将代码推送到远程存储库
因为当我们使用git merge时,它通常会在合并到的分支上创建一个新的提交,所以我们可以使用git reset来撤销git merge。有两种方法
如果您刚刚提交,并立即执行该命令
或者,如果你想撤销过去的git merge命令,你必须在git merge之前确定commit hash并执行
2您将代码推送到远程存储库
对于规则,我们从不更改共享分支的git历史记录(分支被推送)。所以,在这种情况下,我们可以使用git revert来创建一个新的commit,帮助我回到合并之前的commit。
首先,您必须确定合并提交的提交哈希并运行