博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[git]fork+pull提交模式
阅读量:5118 次
发布时间:2019-06-13

本文共 858 字,大约阅读时间需要 2 分钟。

fork+pull提交模式

在公司项目中,大多都是通过“主题分支”的方式,进行开发与合并代码。但是,这样又一个弊端就是:合并代码后需要删除分支。同时,如果是开源的项目的话,非项目中的成员是无法创建分支的,也就无法贡献代码。

这个时候,就体现出fork的优势所在了。fork就是把源仓库复制一份到自己的github仓库下,这样非项目中的成员也可以任意修改代码,修改完代码,只要提交pr就可以了。后面的事情就是,项目的所有者要做的了。

同时,项目的所有者也不需要设定主分支的权限,比如:成员不能自行把开发的主题分支直接合并到dev或者master分支上。只有管理者才有这种权限,否则会不便于管理。fork提交的pr不会产生主题分支,也就是不需要合并完pr后删除分支。

如何使用fork模式

  1. fork项目

  2. 设置源项目的远程仓库:git remote add 起一个名字 源项目地址,用于后面的更新代码。

  3. 在dev上直接修改代码

  4. 在push前保证所在分支是最新的:git pull --rebase 刚才起的名字 dev,这里因为是在dev分支上直接修改,所以获取源项目的dev分支的最新代码。

  5. 推送到你fork来的仓库上:git push,push前确定是否关联的是dev分支:git branch -vv

  6. 最后在源项目中提交pr,请求合并你的改动。

在上述过程中,容易混淆的地方就是’源项目‘和’fork的项目’:你没有办法修改’源项目‘,只能修改fork到你自己的github账号仓库下的’fork的项目‘。在提交的时候,需要保证‘fork的项目’是最新,这样在pr前,就可以在你的本地把所有的冲突解决完成,顺利的合并到’源项目‘上。

总结

如果你是项目中的成员,有创建分支的权限,那么用fork模式或者主题分支的模式都可行的,同时没有什么太大的区别。

对于向开源项目贡献代码,那就一定要用到fork模式。

参考

转载于:https://www.cnblogs.com/xueweihan/p/5566469.html

你可能感兴趣的文章
Blog文章待看
查看>>
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
java学习第三天
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
jQuery Mobile笔记
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>