python-day97--git协同开发
1、协同开发流程

- 在dev的基础上创建三个开发的分支
-每个人都在自己的分支中进行开发
-第一个人开发完成之后把review分支从云端版本库中拉下来 -将个人的分支与review分支合并(确保review分支是最新的代码)(可能有冲突) -上传review分支到云端版本库
-第二个人开发完成 -把review分支从云端版本库中拉下来 -将个人的分支与review分支合并(确保review分支是最新的代码)(可能有冲突) -上传review分支到云端版本库
-第三个人开发完成 -把review分支从云端版本库中拉下来 -将个人的分支与review分支合并(确保review分支是最新的代码)(可能有冲突) -上传review分支到云端版本库
-开发组长或者老大review代码,如果代码没问题再将代码合并到dev分支中
-在dev分支中测试,如果测试没问题在加到master分支中上线
注意:一般在公司中都会约定好开发完成一两个小功能或者固定多久时间就会review合并一次代码,查看是否有冲突
面试题:
公司代码review怎么做?谁来做?
我们自己都有自己的分支河review分支,小功能开发完成之后合并到review,小组长或老大review。
追问:那你们小组长不开发吗? 答:小组长只开发核心技术,工作量比较小;或者我们固定约好两三个小时一起review
面试题:每个人都有自己分支
2、添加项目合作者:在项目的settings中添加合作者

3、组织
3.1创建组织

3.2进入组织

3.3创建仓库:

3.4创建项目:创建之后组内的每个成员都可以对其进行开发代码

3.5组织内添加成员

3.6成员的权限

4、.gitignore 文件
首先要强调一点,这个文件的完整文件名就是“.gitignore”,注意最前面有个“.”。这样没有扩展名的文件在Windows下不太好创建,这里给出win7的创建方法:
创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。
一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。
这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。
下面我们看看常用的规则:
/mtk/ 过滤整个文件夹
*.zip 过滤所有.zip文件
/mtk/do.c 过滤某个具体文件
很简单吧,被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传。
需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中:
!*.zip
!/mtk/one.txt
唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。
为什么要有两种规则呢?想象一个场景:我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理。那么我们就需要使用:
/mtk/
!/mtk/one.txt
假设我们只有过滤规则没有添加规则,那么我们就需要把/mtk/目录下除了one.txt以外的所有文件都写出来!
最后需要强调的一点是,如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。
简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。
所以大家一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。
# 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/ # 忽略 build/ 目录下的所有文件doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

等,看你具体需求,参考:https://github.com/github/gitignore/blob/master/Python.gitignore5、github上 fork 他人的代码

找到某个项目,点击fork,这样就把他的项目copy到了我的版本库中,在我得版本库中进行修改bug

修改完成之后要让他知道,我们就点击上面这个按钮,进入到下面的页面

选择要返回通知的对象-也就是从哪fork来的地方
再点击


然后就显示提交成功了,

这样被fork的那个人就会受到一个被fork的请求,如果他同意了这次请求,他的项目中就会展示出我修改的内容,那么我就成为了他的项目的贡献者

6、git的认证 : ssh秘要认证和https认证,现在在公司中这两个没有太明显的区分
https认证需要输入用户名与密码,但是现在优化的都会记住密码的。
下面介绍ssh秘要的方式认证: 一定要在终端做
1)创建了一对秘要

2)查看秘要

3)显示公要,复制→放到github中settings配置


4)到你的个人github中添加公要

5)填上title→把复制的公要填上,然后点击add添加

这样配置好以后就不再需要登录密码什么的了,但是要注意:只能用ssh 链接的方式,如下图

7、面试题: 你们公司项目是怎么上线的,怎么把代码传到服务器的?
答:就是把代码放到服务器上运行,上传代码有以下两种方式:

python-day97--git协同开发的更多相关文章
- Git学习(二)——使用Git协同开发
项目协同开发git操作 基本流程 1.开发前,拉一次远程仓库 2.工作区进行开发 3.将开发结果提交到本地版本库 git status查看时没有待处理的事件 4.拉取远程仓库(每一次要提交远程仓库前必 ...
- GIT 协同开发
Git 是一个开源的分布式版本控制系统,用于敏捷高效的处理任何项目的版本问题.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.与cvs, ...
- git协同开发
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: [root@w ...
- mzy git学习,git协同开发忽略文档配置以及一些杂点(九)
回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keyge ...
- Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件
远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...
- 用Git进行协同开发
用Git进行协同开发 问题场景描述 常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调. 对于这种场景,最简单的方式就是 ...
- 【转】Android Studio中Git的配置及协同开发
一. Android Stutio配置git setting–>Version Control–>Git–>Path to Git executable中选择git.exe的位置 ...
- Android Studio中Git的配置及协同开发
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51595096 本文出自:[openXu的博客] 目录: 一 Android Stutio配置 ...
- git 入门教程之协同开发
前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ...
- 使用git和github进行协同开发流程
(本文假设各位已经对基本git的基本概念.操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关的学习和练习) 很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管 ...
随机推荐
- (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置
为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...
- Luncene学习 第一天 《入门程序》
整个luncene 流程 下面贴出代码 package com.zuoyan.lucene.demo; import java.io.File; import org.apache.commons.i ...
- 洛谷P1803 凌乱的yyy dp
我要日更嘤嘤嘤>_< 原题戳>>https://www.luogu.org/problem/show?pid=1803<<(其实是戳不动的,复制粘贴吧) 题目背景 ...
- ifconfig 输出里没有IP地址
转载: http://blog.csdn.net/johnstrive/article/details/5625121 inet addr:....Bcast:.....Mask:255.255.25 ...
- Latex citation using natbib and footnotesize
References: Natbib bibliography styles How to change font size for bibliography? Latex citation usin ...
- sublime插件开发手记
原:http://blog.hickwu.com/sublime插件开发手记 标题: sublime插件开发手记 时间: 2014-01-05 14:58:02 正文: 插件基本结构 基本插件实现 ...
- ones测试用例管理平台
https://ones.ai 团队信息: 公司信息,公司logo付费信息:绑定第三方账户: 成员信息: userid,user_email,激活状态,所属部门组织架构:所属部门: 新建组 团队权钱: ...
- 内连接查询输出到datagridView
实现步骤: 1. 新建两张对应表的类 例如: 第一张表对应的类 { class ManagerInfo { public Table1 group { get; set; } //重点 需要内连接的字 ...
- Dragger2好网文整合
Dagger2从入门到放弃再到恍然大悟 详解Dagger2 http://blog.csdn.net/u012124438/article/details/52505986
- MYSQL的基本函数 (数学函数)
ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底) ...