完成我后,我在分支(问题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
答案 0 :(得分:2)
还原分支上的提交而不是重新提交它可能会有所帮助。它将取消分支上的更改,但不会删除任何代码:
git revert <SHA ID of the commit you want to cancel>
编辑:正如@RomainValeri所提到的,它不会从git repo中删除任何提交(这就是为什么您可以放心地进行还原而不必担心丢失代码的原因)。它将创建一个新的提交,以取消(还原)指定提交的更改。