【发布时间】:2012-11-22 14:00:28
【问题描述】:
我在一个 git repo 中有 2 个分支,让我们调用它们,开发和测试。我在单个文件 somecode.js 中有更改。两个分支都对 somecode.js 进行了更改。这两个分支已经显着分歧(但在可控范围内),因此直接“合并”是不够的。
我试过http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/,但它没有合并两个文件的内容。您基本上只是覆盖文件而不是实际合并文件的内容。
我也试过了:
git checkout -b newbranch
git checkout test somecode.js
git commit -m "somecode changes from newbranch"
git checkout dev
git merge newbranch
和
git checkout -m test somecode.js
(我非常希望使用 -m 进行合并,但它似乎对我不起作用......)
我以为我已经接近了我需要的东西,但后来我意识到它只是快进了提交,这意味着它没有合并,它覆盖了测试中的原始文件。
所以,重申一下,我如何才能将一个特定文件从一个分支合并到另一个分支,而不仅仅是使用 git 覆盖我正在合并到的分支中的文件。
【问题讨论】:
-
Cherry-pick 不能解决问题,因为它包含了完整的提交。所以它会带来多个文件,我必须查看所有提交以查看哪些是相关的
标签: git