Git:创建分支。提交一堆更改。返回主分支,只想合并特定的更改。

4
我目前在我的主分支上。我需要一些CSS方面的帮助,但不幸的是我的网站受到身份验证的保护。这使得其他人很难进入我的网站进行调试。我计划创建一个新的分支fixing_css,第一个提交将删除所有身份验证机制。
然后,我想提交对CSS所做的更改。之后,我想将该分支合并回主分支,除了第一个提交(因为我希望我的网站受到身份验证系统的保护)。
我该如何操作?
2个回答

5
你可以将提交的一系列代码变基到主分支上:
如果你有以下这些内容:
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

“rebase”命令将一组提交放在一个新的“基础”上。在这种情况下,您要说的是:“将在E之后并一直到fixing_css结束的提交集放在master的顶部。”

(其中E是该分支上第一个提交的SHA)

1
除了常规的变基,您还可以使用交互式变基来摆脱任何不需要的更改:
git rebase -i master

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接