zoukankan      html  css  js  c++  java
  • git 分支管理——多人协作

    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
    

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

    error

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

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

    执行命令:

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

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

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

    conflict

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

    push

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

    git pull

    执行:q退出就可以了。

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

    有道云笔记参考:
    http://note.youdao.com/noteshare?id=37f3f8f3c37752db7c8fab7889880b94&sub=656272912B8A41F8ADDA38D8680D68C5

  • 相关阅读:
    使用std::accumulate计算和、积和平均值
    Boost文件读写,断言、日期
    mem_fun的用法,以及使用wcout
    singleton的内存泄漏及线程安全性问题
    delphi关键字
    Windows Api的一些方法 封装 以及 常用参数
    linux字符设备驱动 自动创建设备节点的的方法
    Linux混杂设备注册方法
    linux2.6字符设备的标准注册方法
    另一种linux下的powerpc中断注册的方法
  • 原文地址:https://www.cnblogs.com/real-me/p/7324294.html
Copyright © 2011-2022 走看看