gitリポジトリに2つのブランチがあり、それらをdevとtestと呼びましょう。単一のファイルsomecode.jsに変更があります。どちらのブランチもsomecode.jsに変更があります。2つのブランチは大幅に(ただし管理可能に)分岐しているため、単純な「マージ」では不十分です。
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を使用してマージするブランチのファイルを上書きせずに、特定のファイルを1つのブランチから別のブランチにマージするにはどうすればよいですか。