git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程
由于rebase执行速度慢,分支同步主干代码时,分支的每次提交都可能和主干产生冲突,需要解决的次数太多,影响提交效率。 同时,为了保证主干提交线干净(可以安全回溯),所以采用下面所说的merge法。
merge法
核心: (master) git merge feature --squash 意思是把feature分支不同于master分支的所有文件罗列出来(无论有几个提交),然后就可以方便的git commit提交了
#1 创建功能分支
(master) git checkout -b feature
#2 功能迭代
(feature) git commit ...
#3 合并最新主干代码
(feature) git checkout master
(master) git pull
(master) git checkout feature
(feature) git merge master
解冲突
(feature) git commit #
4 review,修改代码
(feature) git commit
5 提交测试通过后,合并到主分支,先执行一遍第3步 #
把提交合并成一个
(feature) git checkout master
(master) git merge feature --squash
(master) git commit #
推送到远端,正常结束
(master) git push origin #
6 如果上一步被拒绝,是因为master有更新的代码入库了,为了防止master上出现分线,需要重新执行第5步
git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程的更多相关文章
- git命令行提交并且同步到远程代码库
远程代码库以github为例 1.打开 git bash 2.进入项目目录 cd /e/myGitProjects/test 3.提交到本地git仓库 git add -Agit commit -m ...
- git多人参与的项目 -> 分支代码如何合并到主干
个人理解:合并分支时候就是当前分支,与别的分支先合并一遍,然后解决分支中存在的所有冲突,之后将本地分支代码提交到git远程仓库,之后切换主干分支 ,将主干分支与分支内容合并,解决冲突, 在提交主干分支 ...
- Git 分支 (三) 分支管理&&分支开发工作流
分支管理 git branch 命令不只是可以创建与删除分支. 如果不加任何参数运行它,会得到当前所有分支的一个列表: 注意 master 分支前的 * 字符:它代表现在检出的那一个分支(也就是说,当 ...
- Git 从 master 分支拉新分支开发
一. 切换到被copy的分支(master),并且从远端拉取最新版本 $git checkout master $git pull 二.从当前分支拉copy开发分支 $git checkout -b ...
- git 同步非master分支
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致: 建立本地分支和远程分支的关联,使用gi ...
- 您必须知道的 Git 分支开发规范
Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 master 分支 master 为主分 ...
- 后端必备的 Git 分支开发规范指南 转
原文链接 作者:稻草叔叔 http://juejin.im/post/5b4328bbf265da0fa21a6820 点击上方 "后端技术精选",选择 "置顶公众号&q ...
- Git 分支开发规范
您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...
- Git工程开发实践(四)——Git分支管理策略
A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...
随机推荐
- C#调用C++编写的dll
界面还是C#写的方便点,主要是有一个可视化的编辑器,不想画太多的时间在界面上.但是自己又对C++了解的多一些,所以在需要一个良好的界面的情况下,使用C++来写代码逻辑,将其编译成一个dll,然后用C# ...
- MySQL用户权限控制一例
Preface I supposed we are encountering a situation that there's an anonymous user has connec ...
- Ubuntu下使用Git_6
这回真的是最后一篇了,哈哈,改写提交. 这里这部分在目前的学习阶段还没有用到,所以,这里将不在有实验的部分,在下面的链接中有详细的介绍 这也是我第一讲一个网站的内容完成的学习完成,这这部分,我讲简单的 ...
- cocos2d-x 场景切换
场景切换的方法 场景切换是通过导演类director实现的,其中的相关方法如下: director.run(new_scene).该方法可以运行场景,只能在启动第一个场景时调用该方法.如果已运行场景, ...
- Java 集合学习--集合概述
一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...
- 无缘无故出现npm 解析异常的的问题 解决方案
npm cache clean --force try if false delete package.lock.json try again if false npm set registry ht ...
- throw er; // Unhandled 'error' event&Error: ENOENT: no such file or directory,
今天做一个文件上传的项目时, 用express-formidable往硬盘里面存文件时, 报 ENOENT:no such file or directory 原因就是程序不能像别的语言一样不存在就 ...
- Git&GitHub&GitBook
一.定义 Git(分布式版本控制系统) GitHub gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. gitHub于2008年4 ...
- SDUST OJ Problem G 动态的字符串排序
Description 把字符串按照ASCII码序的从小到大排列出来. 串的ASCII码序遵循如下递归定义: 1 两串的前n-1个字符相同,第n个字符ASCII码序小的排在前面:2 只有两串的字符完全 ...
- Reactor模式是什么(转载)
一.Reactor模式是什么反应器设计模式(Reactor pattern)是一种为处理并发服务请求,并将请求提交到一个或者多个服务处理程序的事件设计模式.当客户端请求抵达后,服务处理程序使用多路分配 ...