2010-09-15 77 views
4

我目前在我的主分支上。我需要一些CSS的帮助,但不幸的是我的网站受到身份验证的保护。这使得其他人很难来我的网站进行调试。我打算开始一个新的分支,fixing_css,第一次提交删除所有身份验证机制。Git:创建一个分支。提交一堆。回到主分支,只想合并某些提交

然后我想提交对CSS做出的更改。之后,除了第一次提交(因为我希望我的站点受我的身份验证系统保护)之外,我想将该分支合并回主站。

我该如何去做呢?

回答

5

你可以重订设定的提交到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之上“。

1

除了定期底垫中,你也可以使用交互式的rebase摆脱你不想要任何改变:

git rebase -i master 

这将产生一个编辑列出所有你的提交。如果您想删除提交,只需在保存文件之前删除编辑器中的行即可。这样,您可以在合并之前删除尽可能多的提交。

相关问题