我目前在我的主分支上。我需要一些CSS的帮助,但不幸的是我的网站受到身份验证的保护。这使得其他人很难来我的网站进行调试。我打算开始一个新的分支,fixing_css,第一次提交删除所有身份验证机制。Git:创建一个分支。提交一堆。回到主分支,只想合并某些提交
然后我想提交对CSS做出的更改。之后,除了第一次提交(因为我希望我的站点受我的身份验证系统保护)之外,我想将该分支合并回主站。
我该如何去做呢?
我目前在我的主分支上。我需要一些CSS的帮助,但不幸的是我的网站受到身份验证的保护。这使得其他人很难来我的网站进行调试。我打算开始一个新的分支,fixing_css,第一次提交删除所有身份验证机制。Git:创建一个分支。提交一堆。回到主分支,只想合并某些提交
然后我想提交对CSS做出的更改。之后,除了第一次提交(因为我希望我的站点受我的身份验证系统保护)之外,我想将该分支合并回主站。
我该如何去做呢?
你可以重订设定的提交到master分支:
如果你有这样的:
master: A--B--C--D
\
fixing_css: E--F--G--H
并且希望此:
master: A--B--C--D--F--G--H
然后运行该命令来自fixing_css
分支:
git rebase --onto master E fixing_css
(其中E
是,所述第一SHA提交的分支)
的“变基”命令采用一组提交的,并把它们放到一个新的“基础”。在这种情况下,你说“取E
之后出现的一组提交,并且上升到fixing_css
的末尾,并将它们放在master
”之上“。
除了定期底垫中,你也可以使用交互式的rebase摆脱你不想要任何改变:
git rebase -i master
这将产生一个编辑列出所有你的提交。如果您想删除提交,只需在保存文件之前删除编辑器中的行即可。这样,您可以在合并之前删除尽可能多的提交。