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