场景描述:
Git上Fork了一个开源项目(假如项目名为Project A),起名为Project B,经过一段时间,Project B被自己修改增加了部分内容,同时Project A被原作者也修改增加了部分内容,某一天,发现Project A中新增了一个自己感兴趣的功能,想要合并到自己的Project B中来。
实现步骤:
1. Fork项目:
这个没什么可说的,不管是github还是gitee,在项目主页,都很醒目的有Fork按钮,照准了使劲儿戳就行。
2. 检出项目:
检出Project B代码到本地
[root@zhy project_b]# git clone git@gitee.com:sillycoder/project_b.git
[root@zhy project_b]# cd project_b
[root@zhy project_b]# git remote -v
origin git@gitee.com:sillycoder/project_b.git (fetch)
origin git@gitee.com:sillycoder/project_b.git (push)
update_stream git@gitee.com:sillycoder/project_a.git (fetch)
update_stream git@gitee.com:sillycoder/project_a.git (push)
如果发现没有update_stream分支(分支名可以随便起)这两行,需要手动添加远程分支
git remote add update_stream git@gitee.com:sillycoder/project_a.git
再次运行git remote -v
,便会发现多出来了update_stream的远程分支
3. 把远程分支代码拉取到本地
git fetch update_stream
4. 合并分支代码
git merge update_stream/master
注:如果是合并某个特定分支,需要先切换分支
git checkout develop
创建并切换到分支里
git checkout -b develop origin/develop
5. 推送最新代码到git上
git push origin master