我在一个新项目上使用 Git,该项目有两个并行的——但目前是实验性的——开发分支:
master
exp1
exp2
exp1并exp2代表两种截然不同的架构方法。在我走得更远之前,我无法知道哪个(如果有的话)会起作用。当我在一个分支中取得进展时,我有时会进行一些对另一个分支有用的编辑,并且只想合并那些。
将选择性更改从一个开发分支合并到另一个分支的最佳方法是什么?
我考虑过的方法:
git merge --no-commit
git checkout
exp
所有这三种方法似乎都很乏味且容易出错。我希望有更好的方法;类似于过滤器路径参数的东西,它会使git-merge选择性更强。
git-merge
我遇到了与您上面提到的完全相同的问题。
概括:
``` $ git checkout source_branch – …
Hint: It also works without -- like seen in the linked post. ```
--
$ git checkout -p source_branch -- <paths>...
或者,使用 reset 然后使用选项添加-p,
-p
$ git reset <paths>... $ git add -p <paths>...
$ git commit -m "'Merge' these changes"