zoukankan      html  css  js  c++  java
  • Git 之 协同开发

    GitHub中多人协同开发和单人开发还是有点差别,协同开发一般有两种方式:

    • 合作者,将其他用户添加到仓库合作者中之后,该用户就具有向当前仓库提交代码。

    组织,创建一个组织,然后再该组织下可以创建多个项目,组内成员可以向组内所有项目提交代码。PS:也可以对某个项目指定合作者。

     

    协同开发命令和以上步骤类似,此处就不再重新写代码,而是使用文件描述三人协同开发整个过程。

    • 创建程序
      • 用户A创建程序,提交到GitHub
      • 用户B克隆项目
      • 用户C克隆项目
    • 开发功能
      • 用户A开发功能1
      • 用户B开发功能2
      • 用户C开发功能3
    • 提交
      • 用户A提交功能1,并push(A用户手速快,先提交。)
      • 用户B提交功能2,无法push,因为GitHub上已经有其他人提交的新代码。
        解决方法:从GitHub上获取最新代码并合并到本地,提交自己开发的功能2。
      • 用户C提交功能3,无法push,无法提交,因为GitHub上已经有其他人提交的新代码。
        解决方法:从GitHub上获取最新代码并合并到本地,提交自己开发的功能3。
    • 获取最新代码
      • 用户A获取最新代码
      • 用户B获取最新代码
      • 用户C获取最新代码

    在上面红色标注的解决方法位置可以有三种方式操作,三者都可以完成合并并提交新功能,但是日志记录会有差异,如:前两者版本记录中会出现合并,而第三种可以保证版本记录干净整洁。

      • 先 git pull origin master   然后 git push origin master
      • 先 git fetch origin master 然后 git merge origin/master   再 git push origin master
    用户A:
        touch 4.py
        git add .
        git commit -m '功能4'
        git push origin master
     
    用户B:
        touch 5.py
        git add .
        git commit -m '功能5'
     
        git push origin master # 报错,因为GitHub中已经有人提交新代码
     
        git pull origin master
     
        git push origin master
    

    先 git fetch origin master 然后 git rebase origin/master  再 git push origin master

    用户A:
        touch 4.py
        git add .
        git commit -m '功能4'
        git push origin master
     
    用户B:
        touch 5.py
        git add .
        git commit -m '功能5'
     
        git push origin master # 报错,因为GitHub中已经有人提交新代码
     
        git fetch origin master
     
        git rebase origin/master
     
        git push origin master   
    

  • 相关阅读:
    用sed删除空行
    烂泥:php5.6源码安装及php-fpm配置
    linux系统vsftpd登陆慢卡怎么办
    Linux Vsftpd 连接超时解决方法
    linux中shell截取字符串方法总结
    运算符
    数据类型
    is null 和=null的区别
    DML
    DDL
  • 原文地址:https://www.cnblogs.com/gaoya666/p/9146052.html
Copyright © 2011-2022 走看看