我的本地提交历史记录是:
commit 5
commit 4
commit 3
commit 2
commit 1
远程gitlab服务器提交历史为:
commit 3
commit 2
commit 1
commit 2
于一周前被推送到gitlab服务器。
现在,我知道commit 2
不应该提交,因为内容都是Apache tmp文件。
如何删除或取消commit 2
?
我是git新手,谢谢!!
答案 0 :(得分:0)
最安全的做法可能是git revert
第二次提交。首先在您的分支机构上输入git log
,它应该显示如下内容:
f83j2l8f commit 5 comment
439gm93f commit 4 comment
lsm382fs commit 3 comment
lm93nd82 commit 2 comment
9rnj1iu3 commit 1 comment
找到第二个提交的SHA-1哈希,在我上面给出的示例中为lm93nd82
。 SHA-1哈希通常看起来像一些非常长的难以理解的字符串。现在您要做的就是这个:
git revert lm93nd82
这将在分支的顶部创建一个 new 提交,此功能将撤消/擦除第二次提交的引入。现在,像往常一样推动分支:
git push origin your_branch
现在,远程服务器应该在HEAD处显示一个新的提交,并且第二个提交引入的更改也将消失。
答案 1 :(得分:0)
有多种处理方法:
方法1:提取最新代码并删除提交2的差异,如果存在冲突,可以在GitHub上的提交2中找到差异(简便方法)。
方法2:还原提交直到提交2减1,并选择其他提交更改集(有点困难取决于提交2之后的更改集)