我怎样才能将一个分支中的特定文件合并到Git中的另一个分支中 [英] How can I merge a specific file from one branch into another branch in Git

查看:500

你喜欢使用

  git checkout -p 

您的情况

  git checkout dev 
git checkout -p test somecode.js

您可以交互式应用差异。


I have 2 branches in a git repo, lets call them, dev and test. I have changes in a single file, somecode.js. Both branches have changes to somecode.js. The 2 branches have diverged significantly (but manageably) so a straight "merge" is insufficient.

I have tried http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/ but it doesn't merge the contents of both files. You basically just write over the file instead of actually merging the contents of the file.

I have also tried:

git checkout -b newbranch
git checkout test somecode.js
git commit -m "somecode changes from newbranch"
git checkout dev
git merge newbranch

And

git checkout -m test somecode.js

(I was really hopeful with the -m for merge, but it didn't appear to work for me...)

I thought I was close to what I needed, but then I realized that it just fast-forwarded the commit meaning it didn't merge, it wrote over the original file in test.

So, to reiterate, how can I merge a specific file from one branch into another branch without just writing over the file in the branch I am merging into using git.

解决方案

I think you like to use

git checkout -p

In your case

git checkout dev
git checkout -p test somecode.js

And you can interactively apply the diffs.

这篇关于我怎样才能将一个分支中的特定文件合并到Git中的另一个分支中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆