我有以下问题...
我试图将远程分支合并到我的本地,然后将更改推送到repo ...好吧,我获取了有三个提交的远程分支,但其中一个没有完成,所以我不知道想要推送其中一个提交到repo ...当我运行git log时,它显示了这个:
commit: A1
merge: M1
merge remote branch "remote/branch"
commit: A2
commit: A3
commit: A4
我想删除提交A2 ...我该怎么办?我正在搜索,有些人说使用git rebase或git reset,但我不确定应该使用哪一个...以防万一,我没有推动这些更改
感谢您的帮助
答案 0 :(得分:10)
如果你还没有推动你的合并提交(这意味着A2还没有被推送),你可以交互式地重新设置:
git rebase -i HEAD~3
现在删除合并提交行。然后,重新排序提交,以便A2是最新完成的。完成后,分支:
git branch incompleteFeature
然后将master重置为上一次提交:
git reset --hard HEAD^
现在你可以正确地同步,并且不完整的功能将位于它自己的分支中,直到你决定在它准备好的时候合并它。
希望这会有所帮助