Github之协同开发
一、协同开发
1、引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢?
要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来。所以,
为每一个人创建一个分支,各自都在各自的分支上写代码,互不影响。
很短时间内大家暂时先合并一次,不然冲突太多了。但是这个分支不是dev,而是review分支,当老大看完没问题之后再合并到dev分支。
二、协同开发的两种方式:
方式一:创建协作者和组织:

方式二:添加组织




三、创建完之后就开始写代码了
先创建了一个dev的分支
git branch dev
git checkout dev
git push origin dev
又创建了一个review的分支
git branch review
gir checkout review
git push origin review
创建自己的分支
git branch haiyan
git branch xiaxiao
git branch sk git checkout sk
git pull origin review
假如现在有两个人在进行开发
海燕创建了个文件
git branch haiyan
git checkout haiyan
touch a.py
ls
git add .
add commit -m '代码初始上线'
git push origin haiyan
ls
vim a.py #写了一些内容
git add .
add commit -m '小功能开发完毕'
git push origin haiyan
#现在两人都写完了,开始合并和review进行合并了
git checkout review
git pull origin review #吧远程的review拉下来
#吧自己的合并发到review
git merge haiyan
ls
git status
git push origin review #再次写的时候
git pull origin review
宋康创建了个文件
git branch sk
git checkout sk
touch s.py
ls
git add .
add commit -m '到了新公司好激动啊'
git push origin sk
ls
vim s.py #写了一些内容
git add .
add commit -m '小开发完毕'
git push origin sk
#现在两人都写完了,开始合并和review进行合并了
git checkout review
#git pull origin review #如果先没有吧远程的review拉下来
#吧自己的合并发到review
git merge sk
ls
git status
git push origin review #这时候的review是最新的,那么海燕先提交了,完了她还得拉先来再合并一次
老大看了review分支,如果OK,可以放到dev分支进行测试,如果测试没有问题了
才放到master分支。
master分支:线上的版本,永远保证线上的版本,无论是回滚到哪都是能用的
两个面试题
1、你们公司的代码review分支怎么做?谁来做?
答:我们创建的review分支,我们小功能开发完之后,合并到review分支
交给老大(小组长)来看,
你组长不开发代码吗?
他开发代码,但是它只开发核心的东西,任务比较少。
或者抽出时间,我们一起做这个事情
2、你们公司协同开发是怎么协同开发的?
每个人都有自己的分支,阶段性代码完成之后,合并到review,然后交给老大看
四、GIT之忽略文件和ssh
当你提交代码的时候不要把所有的代码都提交,尤其是你自己的隐藏文件,还有pycharm自动生成的隐藏文件,
两个方式:
手动修改:在你add的时候不要把它添加进去就行了
自动修改 :需要改一下配置文件
vim . gitignore
/idea
touch a.py
touch b,py
不要.py了文件了,在编辑的时候写上*.py
认证的两种方式
1、通过http协议的
Https:
https://github.com/ugfly1210/git_projects.git
2、通过ssh的
SSH:
git remote add origin
git@github.com:ugfly1210/git_projects.git
创建秘钥

取到公钥

Github之协同开发的更多相关文章
- 使用git和github进行协同开发流程
(本文假设各位已经对基本git的基本概念.操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关的学习和练习) 很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管 ...
- Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件
远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...
- 怎样在github上协同开发
How to co-work wither parter via github. Github协同开发情景模拟 Github不仅有很多开源的项目可以参考,同样也是协同开发的最佳工具,接下来的就模拟一下 ...
- Git之协同开发
Github之协同开发 一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的 ...
- GitHub的多人协同开发配置
GitHub For Windows 下载地址:https://windows.github.com/ 基本的注册登录就不细讲了. 在源代码管理上,最重要的就是仓库了.仓库这一概念很容易理解,所谓仓库 ...
- 使用GitHub进行协同项目开发和开源项目贡献
本教程致力于摆脱git命令行快速的学习使用GitHub. 此次是GitHub课程的第三次课程,也是最后一次课程.推荐进行按照次序查看本次教程.上篇文章:程序员,一起玩转GitHub版本控制,超简单入门 ...
- HelloX项目github协同开发指南
概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...
- github或码云协同开发
协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来.所以, 为 ...
- Visual Studio C# 利用git和github协同开发时产生冲突的解决办
Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...
随机推荐
- 【Python】统计个人新浪微博词频并给出相应的柱状图
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- Jenkins发送邮件
Jenkins发送邮件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.配置并发执行任务数量 1>.点击系统管理 2>.点击系统设置 3>.修改执行者数量为: ...
- python---RabbitMQ(3)exchange中关键字发送direct(组播)
设置关键字,交换机根据消费者传递的关键字判断是否与生产者的一致,一致则将数据传递给消费者 可以实现对消息分组 生产者: # coding:utf8 # __author: Administrator ...
- CodeBblock 常用快捷键 (最常用)
==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小. • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦:相关设置:Mouse Drag Scrolling. • C ...
- HTML语义化
什么是HTML语义化呢? 根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读,写出优雅的代码的同时让浏览器的爬虫更好的解析 语义化标签的优势: 1)代码结构清晰,方便阅读 2 ...
- spring boot(十):定时任务
springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现. 1.pom包配置 <dependency> <groupId>org.springframework ...
- [C++]数组指针与指针数组
//声明: 1.&----取地址运算符 eg: int m = 1; int *p = &m;//(*p) == m的地址 == &m; 2.*----间接访问运算符 eg: ...
- [HNOI2009]最小圈 (二分答案+负环)
题面:[HNOI2009]最小圈 题目描述: 考虑带权的有向图\(G=(V,E)\)以及\(w:E\rightarrow R\),每条边\(e=(i,j)(i\neq j,i\in V,j\in V) ...
- MySQL复制框架
一.复制框架 开始接触复制时,看到各种各样的复制,总想把不同类型对应起来,结果越理越乱~究其原因就是对比了不同维度的属性,不同维度得出的结果集之间必然存在交集,没有必要将不同维度的属性安插到成对的萝卜 ...
- A - 最大子矩阵 HYSBZ - 1084 (DP)
题目链接:https://cn.vjudge.net/contest/281963#problem/A 题目大意:中文题目 具体思路:观察到m<=2,所以我们可以对两种情况进行单独讨论,当m== ...