删除来自master分支的提交之间的间隔

时间:2019-09-24 20:30:52

标签: git gitlab

完成我后,我在分支(问题393)上工作,检出master分支以准备变基,然后进行git pull,然后检出393分支,然后执行此命令。 git rebase master

在那之后,我结帐了gitlab,我很惊讶我犯了一个错误。还有另一个分支的提交,该提交不应该在我的分支上(393)。我正在谷歌搜索如何删除我不拥有的提交,但是只是想在我的分支上将它们删除,而不是完全在我们的代码库中。 reflog

6d5878e5 (HEAD -> remove-a-commit, origin/393-add-company-name-for-individual-account, 393-add-company-name-for-individual-account) HEAD@{0}: checkout: moving from 393-add-company-name-for-individual-account to remove-a-commit
6d5878e5 (HEAD -> remove-a-commit, origin/393-add-company-name-for-individual-account, 393-add-company-name-for-individual-account) HEAD@{1}: rebase -i (finish): returning to refs/heads/393-add-company-name-for-individual-account
6d5878e5 (HEAD -> remove-a-commit, origin/393-add-company-name-for-individual-account, 393-add-company-name-for-individual-account) HEAD@{2}: rebase -i (pick): frontend additional fix done
f7ea5f82 HEAD@{3}: rebase -i (pick): backend can do crud on new user, updated reports view and csv download
3b615d25 HEAD@{4}: rebase -i (pick): New Wash/Bite Error Handling
cc988f50 HEAD@{5}: rebase -i (pick): completed: Teeth undo / redo
3630f840 HEAD@{6}: rebase -i (pick): Occlusal plane undo / redo
9436f9e7 HEAD@{7}: rebase -i (pick): fix: submit with incomplete landmarks
47004af0 HEAD@{8}: rebase -i (pick): add: Trim Redo
5fc03f49 HEAD@{9}: rebase -i (start): checkout 71064961
405847ee HEAD@{10}: checkout: moving from master to 393-add-company-name-for-individual-account

HEAD@{4}, 
HEAD@{5},
HEAD@{6},
HEAD@{7},
HEAD@{8},
是我老板的我该如何在我的分支上删除它,但不会在主服务器上删除,因为那个已经在主服务器上了。请帮助。

更新

我尝试了此git rebase --onto 3b615d25 47004af0,但与我什至没有编辑的代码有冲突。

哦,该死! smh

1 个答案:

答案 0 :(得分:2)

还原分支上的提交而不是重新提交它可能会有所帮助。它将取消分支上的更改,但不会删除任何代码:

git revert <SHA ID of the commit you want to cancel>

编辑:正如@RomainValeri所提到的,它不会从git repo中删除任何提交(这就是为什么您可以放心地进行还原而不必担心丢失代码的原因)。它将创建一个新的提交,以取消(还原)指定提交的更改。