博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
github协同开发
阅读量:5346 次
发布时间:2019-06-15

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

协同开发

github协同开发(多人共同开发)大致有两种方式:

  1. 合作者
  2. 组织

合作者

1112571-20180801085313763-595158425.png

1112571-20180801085432193-294012548.png

组织

创建一个组织,组织内的成员可以一起开发多个项目。

1112571-20180801090030301-1063217277.png

1112571-20180801090102698-201357440.png

1112571-20180801090204506-1964509779.png

怎么协同开发

有两点:

  1. 所有人不能在dev分支进行开发(如果两人都在同一分支开发,在公司都提交,A晚上回家拉代码下来想测试自己的一部分代码,发现测不了,因为dev还有B的未完成的可能有bug的代码)
  2. 每个人单独开一个属于自己的分支,开发完毕再合并到dev分支

1112571-20180801093245933-2075669645.png

1112571-20180801093304274-784277272.png

1112571-20180801093333848-493081399.png

现在问题来了,A开发完毕,就合并到dev然后push后下班回家,B开发完毕也合并到dev,然后也进行push操作

1112571-20180801093947142-1155857992.png

A把本地dev分支push到github之后高高兴兴地回家了,此时B在merge到dev之后想要push,顿时傻眼了,出错了(A: 哈哈,幸亏我提交的早,第一个提交永远不会出问题)
1112571-20180801094342003-1465201679.png
这时怎么解决?肯定是根据提示先pull下来,在本地合并之后再push推到github。此时又出现一个问题,如果在合并过程中代码如果出现冲突怎么办?解决办法:

  1. 合并的时候所有开发人员都必须在场,不然B哪知道A的部分,出现冲突后B如果自作主张把A的部分全删了,这明显不行,需要A和B一起来处理冲突
  2. 合并时间不能太长,如果很长时间合并一次,那么冲突可能就很多,处理冲突就是一个大工程。

代码review: 一般是创建一个review分支,初学者的代码一般是合并到review,经过组长或领导审核通过之后才有可能合并到dev分支。

fork项目

github有很多开源的优秀的代码,如果想要把这些代码也复制一份到我的仓库,那我就可以用来学习或进行二次开发,fork就能帮我们完成这件事。

1112571-20180801095636678-1880515216.png

1112571-20180801095758231-2015973462.png

如果把网上源码fork之后,发现写的有bug,想要提建议,此时就用new pull request

1112571-20180801095928424-969659229.png

1112571-20180801100245547-1236172719.png

然后等待原作者是否同意这个pull request,如果同意那么在作者的源代码中就推出现我提交的功能

其他

忽略文件

当你提交代码的时候不要把所有的代码都提交,尤其是你一些sql相关的文件(否则别人拿到你数据库地址登进去删库),还有pycharm自动生成的隐藏文件

在和.git同一级目录下,创建一个.gitignore的文件,里面写上*.sql,那么git就不会帮我们监测以sql结尾的文件的变化,自然也不会帮我们上传这些文件到github。windows下创建 .gitignore文件:ren .gitignore.txt .gitignore
1112571-20180801101709669-743021596.png

当然,github已经帮我们写好了python版本的.gitignore文件,我们在创建仓库的时候就可以进行勾选

1112571-20180801101913979-1082103350.png

以斜杠“/”开头表示目录;以星号“*”通配多个字符;以问号“?”通配单个字符以方括号“[]”包含单个字符的匹配列表;以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

版本相关

1112571-20180801103956566-1718271089.png

我们发现django源码有很多版本,那么我们自己写的代码怎么制作版本呢

1112571-20180801104046030-1537876670.png

1112571-20180801104112113-275448843.png

1112571-20180801104310354-760344899.png

1112571-20180801104322938-569864104.png

想要下载对应版本: git clone -b v1.0 资源地址

git tag -a v1.0 -m '版本介绍'        本地创建Taggit show v1.0                       查看git tags -n                         查看本地Taggit tag -l 'v1.4.2.*'               查看本地Tag,模糊匹配git tag -d v1.0                     删除Taggit push origin :refs/tags/v0.2     更新远程taggit checkout v.10                   切换taggit fetch origin tag V1.2git push origin  --tagsgit pull origin  --tags

转载于:https://www.cnblogs.com/longyunfeigu/p/9399350.html

你可能感兴趣的文章
关于游戏
查看>>
X.Org可能将失去它的域名x.org
查看>>
activated钩子函数
查看>>
转载:开发者需知的10类工具
查看>>
避免明文保存用户密码
查看>>
第二周冲刺_第四天总结
查看>>
软件工程总结报告
查看>>
swift中判断设备是否打开定位
查看>>
6. 合并排序数组:
查看>>
JDK与Java SE/EE/ME的区别
查看>>
ASP.NET MVC IOC 之Ninject攻略
查看>>
Vue学习指南
查看>>
前端通信小结
查看>>
js字符替换等操作
查看>>
Subsequence(HDU3530+单调队列)
查看>>
JS倒计时网页自动跳转代码
查看>>
mysql中find_in_set()函数的使用
查看>>
九度 1495:关键点(图论)
查看>>
日常时间安排
查看>>
Mac下配置phpstorm
查看>>