Git学习 之 团队协作

Stella981
• 阅读 664

Git学习 之 团队协作 | Git学习 之 常用基础命令 | Git学习 之 入门

基于Git进行团队开发

Github gitee gitlab bitbucket 等各大平台都是这样一种模式:
个人和个人开发者之间是并行master,只适合偶尔开发提交一些代码
组织就是适合给多个人,等同的稳定开发时,分支就会比较明确,这个笔记就是记录组织中git的使用

基础思想

介绍关于git在多人协作的使用

原博客

规范的分支图 Git学习 之 团队协作

主要的分支

  • master 稳定发行分支
  • dev 开发主分支

开发上的的分支

  • fixbug
  • feature

本地和远程

  • 指定本地开发分支和远程的绑定关系 git branch --set-upstream dev origin/dev master同理

  • 分支图复杂的一个项目 只是演示分支的复杂度


小规模团队使用码云组织的总结

master发行分支 dev开发主分支 dev-*开发者分支 fea-*开发者自己的功能性分支

  • 在码云上创建私有仓库,然后管理成员,将开发者一一邀请进来,然后这时候就有了一个问题:
    • 所有的开发者都具有master的所有权限,所以这时候就会很容易出现冲突,所以就需要设置master和开发主分支dev为保护模式,只有管理员负责进行推送
    • 管理员, 新建若干分支:git branch 分支 提交到远程 git push --all
    • 对应的开发者克隆项目,然后 git checkout 对应的自己的分支 就可以开始工作了
      • ( 如果没有分支就下拉命令git fetch origin 对应的分支
    • 然后各个开发者写自己的,然后提交git push 就行了
    • 管理员需要 git fetch origin 分支得到所有分支
      • 针对每个分支进行拉取: 切换过去git checkout 开发者分支,然后git pull 开发者分支下拉最新
      • 然后选择合并git merge --no-ff 开发者分支 ,处理冲突然后提交
    • 开发者下拉自己的分支 或者开发主分支 dev 即可

分支的处理的一次实验 2017-10-21 23:57:34

  • git fetch --all 获取远程所有分支(新分支)

  • git pull --all 获取所有分支最新提交 这个就会自动合并???越来越不理解了

  • dev-test 分支进行修改,然后提交一次,然后push

  • master: git merge --no-ff dev-test 进行合并,就会在分支图上得到一个环

    • master 分支本地会多出2个提交
  • dev-test 进行修改,然后1次提交,push

  • master : git pull origin dev-test 执行merge命令就会提示没有可以合并的修改。

    • 这是为什么????

最终方案

双方都有修改

  • 开发人员提交完后,主分支管理人员切换到开发人员的分支然后 git pull 开发人员分支,然后切换回主分支上 git merge --no-ff 开发人员分支(填写注释) 然后push
    • 然后切换到开发人员分支上执行 git merge master 然后 git push 还是git pull origin master
    • 然后通知开发人员下拉其自己的开发分支即可

只有一方修改

  • 主分支进行修改了开发分支没有动,那么开发分支 直接下拉 git pull origin master下拉修改代码即可
  • 如果是开发分支修改,主分支没有动,那么管理员负责切换到开发分支 然后pull 然后merge 然后 push 然后切换开发分支 然后 pull
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Git学习 之 常用基础命令
Git学习之团队协作(https://my.oschina.net/kcp1104/blog/1610809)|Git学习之常用基础命令(https://my.oschina.net/kcp1104/blog/1610807)|Git学习之入门(https://my.oschina.net/kcp1104/blog/161
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Git学习 之 入门
Git学习之团队协作(https://my.oschina.net/kcp1104/blog/1610809)|Git学习之常用基础命令(https://my.oschina.net/kcp1104/blog/1610807)|Git学习之入门(https://my.oschina.net/kcp1104/blog/161
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这