我完成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 存储库中删除任何提交(这就是为什么您可以自信地恢复而不必担心丢失代码(。它将创建一个新的提交,以取消(还原(指定提交的更改。