您的位置:首页 > 其它

Git小技巧:如何从其他分支merge个别文件

2015-11-02 20:05 459 查看
如何从其他分支merge个别文件,git checkout是合适的工具。

git checkout source_branch <path>...
我们使用git checkout将其他分支的个别文件添加到master分支

$ git branch
* master
twitter_integration
$ git checkout twitter_integration app/models/avatar.rb db/migrate/20090223104419_create_avatars.rb test/unit/models/avatar_test.rb test/functional/models/avatar_test.rb
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   app/models/avatar.rb
#   new file:   db/migrate/20090223104419_create_avatars.rb
#   new file:   test/functional/models/avatar_test.rb
#   new file:   test/unit/models/avatar_test.rb
#
$ git commit -m "'Merge' avatar code from 'twitter_integration' branch"
[master]: created 4d3e37b: "'Merge' avatar code from 'twitter_integration' branch"
4 files changed, 72 insertions(+), 0 deletions(-)
create mode 100644 app/models/avatar.rb
create mode 100644 db/migrate/20090223104419_create_avatars.rb
create mode 100644 test/functional/models/avatar_test.rb
create mode 100644 test/unit/models/avatar_test.rb


翻译自:http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/

2015.11.05更新

注意:在使用git checkout某文件到当前分支时,会将当前分支的对应文件强行覆盖。

如果不确定新文件是否能完全覆盖master中的旧文件,可以新建一个master分支mastertmp,将变化的文件checkout到mastertmp,然后让master与mastertmp进行合并。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: