我在一个新项目上使用git,该项目有两个并行 - 但目前是实验性的 - 开发分支:
master:导入现有的代码库加上一些我一般都知道的mod exp1:实验分支#1exp2:实验分支#2exp1并exp2代表两种截然不同的架构方法.直到我走得更远,我无法知道哪一个(如果有的话)会起作用.当我在一个分支中取得进展时,我有时会在另一个分支中进行编辑,并且只想合并那些.
将选择性更改从一个开发分支合并到另一个开发分支而将其他所有内容合并的最佳方法是什么?
我考虑过的方法:
git merge --no-commit 然后手动取消大量编辑,我不想在分支之间做出共同点.
手动将公共文件复制到临时目录,然后git checkout移动到另一个分支,然后更多地手动从临时目录复制到工作树中.
以上的变化.暂时放弃exp分支并使用另外两个本地存储库进行实验.这使得手动复制文件更加简单.
所有这三种方法都显得乏味且容易出错.我希望有更好的方法; 类似于过滤器路径参数的东西会git-merge更具选择性.
我正在研究两个不同的分支:发布和开发.
我注意到我仍然需要将一些提交给发布分支的更改集成到开发分支中.
问题是我不需要所有的提交,只有某些文件中的一些人,所以很简单
git cherry-pick bc66559
Run Code Online (Sandbox Code Playgroud)
没有办法.
当我做的时候
git show bc66559
Run Code Online (Sandbox Code Playgroud)
我可以看到差异,但实际上并不知道将其部分应用于我当前工作树的好方法.