我已经完成了一些提交并将它们推送到我的存储库中。然后我做了一个拉取请求,但我意识到有一些提交我不想出现在拉取请求中。
它们看起来像这样:
My commits look like this:
Correct HTML
ab1c41c
HTML escaping
8b38955
Merge branch 'master' into internationalized
2854662
Modified config
b942f13
tried pushing
b73d792
Added assets
f20106e
Added config
408118f
Fixed views conflicts
86f2509
added layouts
da27e11
Fixed layout markup
92d6bcc
如果我想摆脱这些提交:
Modified config
b942f13
tried pushing
b73d792
Added assets
f20106e
Added config
408118f
我该怎么做?请注意,我想保留这些在我要删除的时间之前的内容:
Correct HTML
ab1c41c
HTML escaping
8b38955
你可以做一个交互式变基 http://git-scm.com/book/en/Git-Tools-Rewriting-History.
假设你的头位于ab1c41c
从您的示例中,调用变基如下
git rebase -i HEAD~7
这告诉 git 你想要操作最后 8 个左右的提交。您将进入编辑器,其中包含提交列表和一些说明。
删除包含要删除、保存和退出的提交的行。 Git 将执行变基,仅此而已。
请记住,由于变基,如果您想推送到同一分支,您需要传递该选项--force
.
免责声明变基和强制推送可能会导致您失去工作或惹恼别人,因此请确保您了解自己在做什么。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)