Git合并单个文件而没有变基

chi*_*der 7 git merge git-merge git-rebase

我有三个分支(我们称之为主分支,测试和功能).所有这三个都是共享的,所以我不能在没有给别人带来问题的情况下对它们进行任何改动.目前,所有三个分支都有分歧(没有一个是快进的),因此最终需要进行一些合并,因为重新定位不是一种选择.

但是,就目前而言,我想将Makefile从测试中拉入功能,因为功能已从master中拆分,并且Makefile已添加到测试中.我希望在两个分支之间的任何其他修改合并,但是.

我的理解是,如果我只是git-add Makefile to feature,当我将功能合并回测试(然后是master)时,这将导致合并冲突,特别是如果我在我的功能分支中对Makefile进行任何进一步的添加.

我可以做git-cherry-pick; 然而,在测试中有多次提交Makefile,我认为有一种更好的方法,而不是试图挑选所有这些提交到功能中.

Dir*_*irk 12

你可以做一个

git checkout branch_name <path(s)>

这可以加载特定文件,但您也可以使用通配符和目录

注意:

  • 路径是相对的
  • 该路径使得git不会切换分支,因此您可以在gettihg文件之后提交