git 分支管理——多人协作

一般一个项目有一个master主分支,还有一个develop开发分支。主要是在develop分支上协作开发,然后merge合并到master主分支上。

当从远程仓库克隆时,其实git clone操作将远程的master和本地的master分支对应起来了。并且默认的仓库名称是origin。

多人协作

多人协作,我这里的多人协作是指,多个人在develop分支上开发,这时候大家往往会在master和develop分支上推送各自的修改。

模拟一个小伙伴克隆代码并在develop分支上更新提交代码

# 克隆代码
$ git clone ……
# 切换分支
$ git checkout develop
# 同步远程和本地分支内容
$ git pull origin develop # 更新修改代码 # 提交更新
$ git add .
$ git commit -m "first commit"
$ git push origin develop

这个时候,你的小伙伴已经向origin/develop分支推送了他的代码更新提交,而这个时候,你也同样更新了develop分支上的内容,并且也要推送提交。

这个时候远程develop分支上已经更新了小伙伴的推送,模拟你也对同样的文件做修改并推送

# 提交推送你的更新
$ git add .
$ git commit -m "other partner update code"
$ git push origin develop

这个时候发现推送会有错误。

这是因为你的小伙伴的最新提交和你试图推送的部分的提交有冲突。

解决办法很简单,按照git提示,先用git pull把最新的提交从origin/develop上抓取下来。,然后在本地合并,解决冲突,再推送。

执行命令:

# 同步远程版本库的更新,拉回分支更新到本地
$ git pull

git pull 相当于从远程获取最新版本并且merge到本地。(相当于git fetch和git merge的操作)

git fetch 相当于从远程获取最新版本到本地,不会自动merge

这个时候可以看到有冲突CONFLICT,解决本地冲突。

解决冲突之后,再提交就可以了。

在执行git pull 操作的时候,可能会出现以下一个vim窗口,

执行:q退出就可以了。

注意:每次在提交代码前最好都git pull合并一下,然后解决冲突,再推动提交

有道云笔记参考:

http://note.youdao.com/noteshare?id=37f3f8f3c37752db7c8fab7889880b94&sub=656272912B8A41F8ADDA38D8680D68C5

git 分支管理——多人协作的更多相关文章

  1. Git 分支管理 多人协作 远程仓库 补充

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了, 并且,远程仓库的默认名称是origin. 如果是本地仓库关联远程仓库 --- 要查看远程库的信息,用 ...

  2. [廖雪峰] Git 分支管理(3):分支管理策略

    通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生 ...

  3. Git学习总结(12)——多人开发 Git 分支管理详解

    1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿.在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点.下面我们就来学习 ...

  4. Git 分支管理详解

    大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...

  5. Git工程开发实践(四)——Git分支管理策略

    A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...

  6. Git 分支管理是一门艺术

    转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...

  7. git学习------>Git 分支管理最佳实践

    ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...

  8. 团队项目的Git分支管理规范

    原文地址: http://blog.jboost.cn/2019/06/17/git-branch.html 许多公司的开发团队都采用Git来做代码版本控制.如何有效地协同开发人员之间,以及开发.测试 ...

  9. Git 分支管理策略汇总

    原文链接: Git 分支管理策略 最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码? 我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的 ...

随机推荐

  1. HDU 4539 郑厂长系列故事——排兵布阵 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...

  2. HTML和CSS <h1> --1-- <h1>

    Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTML是网页内容的载体.内容就是网页制 ...

  3. week4d:个人博客作业

    7,程序结果的显示 1,界面 2,选第一选项. 3,输入3个数后. 4,选择第一个. 5,输入第4个数字. 6,再次进行一轮游戏. 7,选择是否要看历史记录. 8,进入下一轮游戏. 9,开始第二轮数字 ...

  4. mac下搭建MySql环境基本步骤

    准备工作做完后,开始: 创建数据库 step1: 在mac中->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server) step2: ...

  5. php $_SERVER['HTTP_USER_AGENT']

    //获取浏览器 function getBrowse() { global $_SERVER; $Agent = $_SERVER['HTTP_USER_AGENT']; $browseinfo='' ...

  6. TP 等框架在配置虚拟主机伪静态注意事项

    在配置虚拟主机的伪静态 .htaccess 文件时需要注意 ? 符号的添加与否处理 例如TP 框架来讲 无 ? 符号,在有的虚拟主机中必须这样配置,否则无法解析(试了多个公司的虚拟主机只要加了?符号就 ...

  7. python & dict & switch

    python & dict & switch python 中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. # ...

  8. 【Python】使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  9. 在CentOS中安装与配置SVN的方法

    安装说明系统环境:CentOS-6.4安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 1.检查已安装版本 #检查是否安装了低版本的SVN[root ...

  10. RRDtool绘制lvs连接数图形

    需求:用RRDtool绘制lvs的连接数图形 RRDtool是一个强大的绘图工具,作者是Tobias Oetiker. RRD全称Round Robin Database,轮转数据库,也是一个时间序列 ...