【Git 使用笔记】第四部分:git在公司中的开发流程
先声明几个变量
仓管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 和 使用git
- 【Git 使用笔记】第二部分:基本命令 和 单分支开发
- 【Git 使用笔记】第三部分:多分支开发
- Nginx 常用全局变量 及Rewrite规则详解
- 【Java】一台服务器配置多个Tomcat
【Git 使用笔记】第四部分:git在公司中的开发流程的更多相关文章
- 【Git 使用笔记】第二部分:基本命令 和 单分支开发
git 基本命令 git add . git commit -am "请填写你NB的备注" git fetch --all git fetch -p //如果远程分支删除了,本地 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支
使用VSTS的Git进行版本控制(四)--在Visual Studio中管理分支 可以从web版Team Services Git repo 的Branches视图中管理工作.定制视图来跟踪最关注的分 ...
- VSTO学习笔记(四)从SharePoint 2010中下载文件
原文:VSTO学习笔记(四)从SharePoint 2010中下载文件 上一次我们开发了一个简单的64位COM加载项,虽然功能很简单,但是包括了开发一个64位COM加载项的大部分过程.本次我们来给CO ...
- git学习笔记(四)—— 分支管理
一.创建与合并分支 git branch //查看分支 git branch <name> //创建分支 git checkout <name> //切换分支 git chec ...
- Git学习笔记(四)标签和搭建Git服务
一.标签是什么 发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一 ...
- git使用笔记(四)远程操作
By francis_hao Nov 19,2016 以一张图说明远程操作,图片来自参考[2] git clone 从远端主机克隆一个版本库,若省略directory则生成一个和远端同名的版本库 ...
- GIT入门笔记(3)- git中的一些概念和原理
一.git管理过程中所处的4个阶段: 工作目录(workspace) 暂存区(index) 本地仓库(local repository) 远程仓库(remote repository) 二.工作目录+ ...
- Git学习笔记(一)Git初识及基本操作
详细完整教程:官方文档,廖神Git教程,武sir 一.什么是Git? 定义:Git是分布式版本控制系统. 1.1什么是版本控制 我们可以回想以下,在我们上学毕业要写论文或是准备一份演讲稿的时候,都会用 ...
随机推荐
- sharepoint权限操作(记录以备忘)
using Microsoft.SharePoint; using System; using System.Collections.Generic; using System.Linq; using ...
- 最简单的GLSL,Shader
Vertex Shader void main() { gl_FrontColor = gl_Color; gl_Position = ftransform(); } Fragment Shader ...
- Android--Led_Demo_APK控制LED灯
下面代码主要实现接口定义,实现从.so库文件接口函数在JAVA里面的声明:package com.friendlyarm.AndroidSDK; import android.util.Log; pu ...
- AddChild
using UnityEngine; using UnityEngine; using UnityEditor; using System.Collections; public class AddC ...
- 为啥RESTFULL如此重要?
为啥RESTFULL如此重要? 2014-6-3 20:13| 发布者: admin| 查看: 57| 评论: 0|来自: java365 摘要: 本文我们将讨论REST,它定义了一组体系架构原则,您 ...
- springboot 集成elasticsearch
In this article, we will discuss about “How to create a Spring Boot + Spring Data + Elasticsearch Ex ...
- kafka---->kafka的使用(一)
今天我们来学习一下kafka的简单的使用与配置.世上有可以挽回的和不可挽回的事,而时间经过就是一种不可挽回的事. kafka的安装配置 一.kafka的使用场景 活动跟踪:网站用户与前端应用程序发生交 ...
- C# 调用存储过程出错:String[3]: Size 属性具有无效大小值 0
存储过程如下 Create PROCEDURE [dbo].[Test] @FundId int, @vchStrategyToken nvarchar(), @ErrorMessage nvarch ...
- Unity3D Android动态反射加载程序集
这种办法在iOS下是不让用的,只能在Android下用.用起来也很方便了. 1.先创建一个c#工程,引用到的UnityEngine.dll在Unity的安装目录里找吧 2.将编译的dll放入Unity ...
- os.walk的用法
import os path = 'C:\\aa' for root,dirs,files in os.walk(path): print("Root=",root,'dirs=' ...