git 分支管理——多人协作

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

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

多人协作

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

模拟一个小伙伴克隆代码并在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. gdb调试器学习链接

    首先要带 -g 选项用gcc编译 常用指令:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.html#gdb 带main的命令行参 ...

  2. IO流的各种继承关系

  3. mysql 性能分析及explain用法

    转载自http://blog.sina.com.cn/s/blog_4586764e0100o9s1.html 使用explain语句去查看分析结果 如   explain select * from ...

  4. [微软官网] SQLSERVER 执行页面还原

    执行页面还原 https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175168(v=sql.105) ...

  5. laravel中的Contracts, ServiceContainer, ServiceProvider, Facades关系

    Contracts, ServiceContainer, ServiceProvider, Facades  Contracts 合同,契约,也就是接口,定义一些规则,每个实现此接口的都要实现里面的方 ...

  6. Mysql 数据锁与事务

    一.锁 常用命令 查看表的存储引擎:mysql> show create table myLock; 修改当前表的存储引擎:mysql> alter table myLock engine ...

  7. nilcms file类 简单文件缓存实现

    实现简单的文件缓存,参照CI的部分设计,在这里记录一下子. class File { const CACHE_PATH = 'nil_file_cache'; /*其他函数省略了*/ /** * 获取 ...

  8. NOIP2017 心路历程

    虽然没能去考试,但是在学弟们考试前后也发生了很多事情. 周四晚上.学弟们出发前最后一天.单独找几个人谈了谈.面对退役他们还是有点慌啊.这个时候给他们调整心态或许有点迟了. 21:45.最后一分钟.为他 ...

  9. DAY8-Python学习笔记

    老样子课有点多,睡觉有点多,玩手机有点多,总结就是事情有点多.Python项目还没找好所以就没上手. 今天学习内容贴几张图...

  10. 如何合理的规划jvm性能调优

    JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响.但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松.为了更好的理解本篇所介绍的内 ...