是否可以使用Git选择性地将一个分支的更改应用到另一个分支?
更具体地说,我在GitHub上使用公共dev
分支和私有master
分支进行部署。当更改适用于一个分支时,它们需要应用于另一个分支,但某些代码行需要保持不同。在我的情况下,这是一些css类和反馈。
我是新手,但我已经做过研究:
git merge --no-commit --no-ff
可以用于后跟git mergetool
,以便在发生冲突时选择我想要的内容。问题在于它仅适用于Git无法自动合并的冲突,因此在我有机会使用我的mergetool之前,我想要保留的内容会被替换。git difftool --cached
非常有用,因为它允许我查看差异,但是我需要从中复制我想要保留的内容,并使用文本编辑器手动替换它,因为我不能像使用mergetool那样简单地选择并保存。git cherry-pick
似乎将指定的提交应用于另一个提交,但我想要保留的内容可能分散在不同的提交中,并且这些提交可能不仅包含我想要保留的内容。除非我进行数百万次提交,否则我无法看到它起作用。
此外,要明确的是,我不想让一个分支成为另一个分支,这似乎是合并的情况。我希望有两个不同的分支以及它们各自的差异,并将更改从一个应用到另一个。
是否有更好的工作流程可以让我通过应用其更改并保留一些差异来保留开发和部署版本?如果可以解决问题,我不介意使用单独的存储库或不同的工具。