删除来自主分支的不需要的提交



我完成I后在我的分支(问题393(上工作,签出主分支以准备变基,然后进行了git拉取,然后签出393分支,然后执行此命令。git rebase master

在那之后,我查看了Gitlab,我惊呆了,我犯了一个错误。有一个来自另一个分支的提交不应该在我的分支 (393( 上。我正在研究如何删除我不拥有的提交,但只是想在我的分支上删除它们,而不是完全在我们的代码库上。

这是参考日志:

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但它在我什至没有编辑的代码上存在冲突。

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

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

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

最新更新