先声明几个变量

仓管A:主分支,只有master分支
仓管B:开发分支,只有各个业务开发分支   
仓管B fork 于 A

如下图

为了保证 代码的稳定性,只有 仓管B中的某个分支测试完毕并进行了代码review 才可以 和 仓管A进行 merge

PS: 只有仓库B所有开发都有权限  仓库A 只有特定人才有权限,这样可以保证仓库A的代码稳定性

流程和命令如下:

1.某业务功能确定要开发,2015年6月20号开始开发,新建分支

git checkout -b pmt_20150630_walle  remote_a/master //从 A仓管新建分支

git push remote_b pmt_20150630_walle:pmt_20150630_walle //在B仓管新建分支pmt_20150630_walle这样其他人可以直接使用此分支开发

2.开发过程中提交更新 直到测试

git add .

git commit -am "vincent -- comment"

git push remote_b pmt_20150630_walle:pmt_20150630_walle //推送更新到远程

3.测试完成 准备合并到A的master

git fetch --all

git rebase  remote_a/master

git add .//如果有冲突,解决冲突,然后git add. ,git rebase --continue,一直重复直到合并成功

git rebase --continue

git push remote_b pmt_20150630_walle:pmt_20150630_walle -f //强制推送rebase合并的到对应分支

4. 在git工具中直接提 merge request ,然后merge到 仓库A的master 。如果公司有开发发布平台,那么这一步直接在发布机器服务器进行merge 命令操作

原文地址:【Git 使用笔记】第四部分:git在公司中的开发流程
标签:分支   开发   仓管   A   B   rebase   merge   git

智能推荐

【Git 使用笔记】第四部分:git在公司中的开发流程的更多相关文章

  1. 【Git 使用笔记】第二部分:基本命令 和 单分支开发

    git 基本命令 git add . git commit -am "请填写你NB的备注" git fetch --all git fetch -p  //如果远程分支删除了,本地 ...

  2. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  3. 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支

    使用VSTS的Git进行版本控制(四)--在Visual Studio中管理分支 可以从web版Team Services Git repo 的Branches视图中管理工作.定制视图来跟踪最关注的分 ...

  4. VSTO学习笔记(四)从SharePoint 2010中下载文件

    原文:VSTO学习笔记(四)从SharePoint 2010中下载文件 上一次我们开发了一个简单的64位COM加载项,虽然功能很简单,但是包括了开发一个64位COM加载项的大部分过程.本次我们来给CO ...

  5. git学习笔记(四)—— 分支管理

    一.创建与合并分支 git branch //查看分支 git branch <name> //创建分支 git checkout <name> //切换分支 git chec ...

  6. Git学习笔记(四)标签和搭建Git服务

    一.标签是什么 发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一 ...

  7. git使用笔记(四)远程操作

    By francis_hao    Nov 19,2016 以一张图说明远程操作,图片来自参考[2] git clone 从远端主机克隆一个版本库,若省略directory则生成一个和远端同名的版本库 ...

  8. GIT入门笔记(3)- git中的一些概念和原理

    一.git管理过程中所处的4个阶段: 工作目录(workspace) 暂存区(index) 本地仓库(local repository) 远程仓库(remote repository) 二.工作目录+ ...

  9. Git学习笔记(一)Git初识及基本操作

    详细完整教程:官方文档,廖神Git教程,武sir 一.什么是Git? 定义:Git是分布式版本控制系统. 1.1什么是版本控制 我们可以回想以下,在我们上学毕业要写论文或是准备一份演讲稿的时候,都会用 ...

随机推荐

  1. 解决select2在modal中无法输入的问题

    解决办法: 在js里加一句 $.fn.modal.Constructor.prototype.enforceFocus = function(){};

  2. BurpStuite使用技巧

    技巧1:抓包,设置断点修改Response 1.抓包,右键点击--Do intercept--Response to this request 2.点击Forward--修改返回包,然后放行. 技巧二 ...

  3. 开源CMS的比较和选择

    最近就cms系统折腾了一下,主要还是以 构架为主,以下做一个大概的比较: 1. Nuke 一般称为DNN,这是最开始Microsoft发布 的时候,用vb做了一个web的演示例子,最终这个例子发展成了 ...

  4. 深度缓存ZBuffer线性化

    double linearizeDepth(double nearz,double farz,double depth) { depth = 2.0 * depth - 1.0; return (2. ...

  5. AddChild

    using UnityEngine; using UnityEngine; using UnityEditor; using System.Collections; public class AddC ...

  6. mybatis 之 resultType="Integer"

    public class EcPromoteRuleAdditionalNew extends BaseBO { private String[] promoteRuleIds; public Str ...

  7. android R文件不能识别?

    android R文件引入不了原因可能是: 1.xml有错误,导致R文件生成失败:(修改xml,并clear,然后再重新Bulid一下即可) 2.如果是图片,可能是命名有问题,查看并修改(不要以数字开 ...

  8. JS基础---->javascript的基础(一)

    记录一些javascript的基础知识.只是一起走过一段路而已,何必把怀念弄的比经过还长. javascript的基础 一.在检测一个引用类型值和 Object 构造函数时, instanceof 操 ...

  9. find中的-print0和xargs中-0的奥妙

    原文地址:find中的-print0和xargs中-0的奥妙作者:改变自己 默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('n'), 因此我们看到的 find 的输出都是一 ...

  10. css笔记 - 张鑫旭css课程笔记之 margin 篇

    margin - 人若犯我,我必犯人! [margin地址](https://www.imooc.com/learn/680) 一.margin与容器尺寸的关系 relative可定位,但是不改变容器 ...