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. Hibernate利用纯sql

    String hql = "select * from shop where shop.strid in(select strid from moneythreeshop where mon ...

  2. [建树(非二叉树)] 1106. Lowest Price in Supply Chain (25)

    1106. Lowest Price in Supply Chain (25) A supply chain is a network of retailers(零售商), distributors( ...

  3. 配置docker的私有仓库

    1:安装docker-registry包 yum install -y docker-distribution   2:启动docker-distribution,默认监听于TCP/5000端口 sy ...

  4. Js apply方法详解,及其apply()方法的妙用

    Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...

  5. 面试问题总结二(技术能力-PHP)----Ⅳ

    57.Linux 的基本命令(重点,现在多数服务器都是Linux 系统) 答:arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmid ...

  6. epel [Errno 14] problem making ssl connection

    问题描述: 执行yum命令时,报错[Errno 14] problem making ssl connection 问题分析: ssl证书问题 问题解决: sed -i 's/^#baseurl/ba ...

  7. Idea(三)常用插件以及快捷键总结

    idea常用插件以及快捷键 现在开发中和日常自己开发都统一换成了idea进行开发了.现在针对自己常用到的插件和快捷键进行总结记录下. 插件 Alibaba Java Coding Guidelines ...

  8. Mysql 错误相关

    有几天没启动本地的 MySQL 了,今天打开小海豚,直接给我弹出了连接失败,这是怎么回事,就直接进入命令行,发现也有问题,输入密码后一闪而过,也没有什么提示信息给我,百度了先,都说是修改 MySQL ...

  9. screen.height && screen.width

    screen.height && screen.width how to get window max width in js screen.height; screen.width; ...

  10. 开源自己实现一个.net rpc框架 - Machete.Rpc

    Machete.Rpc Machete.Rpc 是一个轻量级的Rpc(远程过程调用的)框架.底层代理使用了Emit提高了效率,底层通信采用DotNetty框架以提升通信的效率.目前正在逐步完善中. G ...