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