当前位置:   article > 正文

git小技巧,如何从其他分支merge个别文件或文件夹_git 合并分支部分文件

git 合并分支部分文件

在实际工作中,一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,进行分别开发。

创建分支

功能分为2个分支,分别为A、B。
A上面有个列表页功能
B上面有个详情页功能,还有个系统消息功能

产品经理说先上列表功能,于是我们就开发A分支,列表功能很快开发完成。
第二天按常理开发B分支,开发到一半,产品经理说目前的系统消息功能需要急着上线,要和列表功能一起上线,当时就懵逼了,然后赶紧放下详情页的开发,立马去开发系统消息功能,开发完之后需要将列表功能和系统消息功能放在一个分支上提测,这时候分支合并就派上用场了。

合并分支

使用git merge 命令进行分支合并是通用的做法,但是git merge 合并的时候会将两个分支的内容完全合并,如果想合并一部分肯定是不行的。那怎么办?

如何从其他分支merge指定文件到当前分支,git checkout 是个合适的工具。

git checkout source_branch <path>...

强制合并

我们使用git checkout 将B分支上的系统消息功能添加到A分支上

  1. $ git branch
  2. * A
  3. B
  4. $ git checkout B message.html message.css message.js other.js
  5. $ git status
  6. # On branch A
  7. # Changes to be committed:
  8. # (use "git reset HEAD <file>..." to unstage)
  9. #
  10. # new file: message.css
  11. # new file: message.html
  12. # new file: message.js
  13. # modified: other.js
  14. #

合并完成

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

这里新增文件没问题,但是A分支上原有的other.js会被强行覆盖,如果A分支上的other.js有修改,在checkout的时候就会将other.js内容强行覆盖,这样肯定是不行的。如何避免不强制覆盖,往下看。

智能合并

1.使用git checkout 将根据A分支创建一个A_temp分支,避免影响A分支

  1. $ git checkout -b A_temp
  2. Switched to a new branch 'A_temp'

2.将B分支合并到A_temp分支

  1. $ git merge B
  2. Updating 1f73596..04627b5
  3. Fast-forward
  4. message.css | 0
  5. message.html | 0
  6. message.js | 0
  7. other.js | 1 +
  8. 4 files changed, 1 insertion(+)
  9. create mode 100644 message.css
  10. create mode 100644 message.html
  11. create mode 100644 message.js

3.切换到A分支,并使用git checkout 将A_temp分支上的系统消息功能相关文件或文件夹覆盖到A分支

  1. $ git checkout A
  2. Switched to branch 'A'
  3. $ git checkout A_temp message.html message.css message.js other.js
  4. $ git status
  5. # On branch A
  6. # Changes to be committed:
  7. # (use "git reset HEAD <file>..." to unstage)
  8. #
  9. # new file: message.css
  10. # new file: message.html
  11. # new file: message.js
  12. # modified: other.js
  13. #

ok,完结,这是工作中使用git合并总结的经验,仅供参考,有错误请指出,谢谢!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/703996
推荐阅读
相关标签
  

闽ICP备14008679号