使用git向主干分支合并代码通常采用两种方式:第一种是merge,第二种是利用BeyondCompare等工具进行比对,将差异合并到主干;

通过merge合并代码出现冲突时,并不清楚谁的修改和谁的修改发生了冲突,在没有了解冲突背景的情况下解决冲突可能引入问题;

利用BeyondCompare等比对工具直接将代码合入会丢失大量的commit信息,影响后续代码的可追溯性。

个人建议采用git cherry-pick进行代码合并;首先在自己的开发分支上进行开发调试,验证通过后进行代码提交整理,识别功能性提交和调试性提交,将调试性提交与之前的功能性提交进行commit合并,最后将整理后的commit通过git cherry-pick合并到主干分支,具体步骤如下:

1.从主线分支master拉取自己的开发分支self_develop;

2.在自己的开发分支self_develop上进行开发、调试、验证,直至当前小功能点验证通过;

3.在自己的开发分支self_develop上执行git log >gitlog.txt, 将commit信息导出到gitlog.txt中,如下所示(请无视中文commit log,这是自己的LaTex文档库

使用git如何规范地向主线提交代码的更多相关文章

  1. 使用Git初始化本地仓库并首次提交代码

    本文介绍使用Git初始化本地仓库,并首次提交代码到远程仓库GitLab上面. 首先,登录GitLab,创建一个新项目的私人仓库: 然后,在本地仓库(就是你写代码文件夹),右键,Git Bash Her ...

  2. Git仓库创建---克隆仓库---初始提交代码

    1.在Git上创建仓库,添加成员,默认分支是“master”,仓库路径假设为http://192.168.1.1/root/project.git 2.在sourceTree上,点击“克隆”,输入上面 ...

  3. git——解决每次拉取、提交代码时都需要输入用户名和密码

    在开发中我们经常需要通过 git 对代码进行拉取和提交,频繁地输入用户名和密码会带来很大的麻烦,下面就介绍一下解决git每次拉取.提交代码时都需要输入用户名和密码的方法. 很简单,只要两步骤就能实现: ...

  4. git用ssh方式下载和提交代码

    之前git上传下载代码都是用的http方式,但是今天遇到个大文件上传的时候,http方式上传超出大小限制了413 request entity too large,所以改成了用ssh方式上传,简单记录 ...

  5. 【git】之使用shell脚本提交代码

    为减少提交步骤,防止提交错误,使用Shell脚本进行git提交不失一件好事 #!/bin/sh # @author Hubal # @Email Hubal@123.com # @createBy - ...

  6. 使用git bash向github远程仓库提交代码

    1.登录github,创建仓库. 2.切换到要提交的文件目录下. 3.打开git bash 3.1.初始化仓库 git init 3.2.将本地仓库与远程仓库关联 git remote add ori ...

  7. Git如何fork别人的仓库并作为贡献者提交代码

    例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...

  8. git新建分支及提交代码到分支

    二.创建分支并提交代码到分支 上述添加成员的方式非常简单,但是如果说每一个小组成员都可以对仓库push内容,就涉及到一个代码的安全和冲突问题了,当多个成员同时在线编辑时容易出现冲突,假设A的代码是有问 ...

  9. git提交代码到GitHub操作-简易版(后续完善)

    一.git上传代码到GitHub 1.远程仓库GitHub创建好一个新仓库注意仓库名 2.本地建一个目录写代码,目录名与仓库命名一致 3.在目录下右键 git Bash here 打开git终端命令行 ...

随机推荐

  1. leetcode - 最小移动次数使数组元素相等

    思路 (假设数组每次都已被排好序) 每次使得小于等于最大值的n-1的数字加1,直接暴力求解会超时 改进一: 为了让最小元素等于最大元素,至少需要数组中最大值-最小值次, 所以以此为基础再次暴力求解(参 ...

  2. 【读书笔记】C++ primer 5th 从入门到自闭(一)

    这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的 ...

  3. springboot jsp,过滤器,拦截器

    springboot使用jsp,过滤器,拦截器(拦截器与过滤器区别重点) jsp使用配置 一 创建springboot项目在maven中暂时只添加两个Dependencies :devtools(热部 ...

  4. C++基础之关联容器

    关联容器 关联容器和顺序容器的本质区别:关联容器是通过键存取和读取元素.顺序容器通过元素在容器中的位置顺序存储和访问元素.因此,关联容器不提供front.push_front.pop_front.ba ...

  5. tomcat启动出现乱码

    打开tomcat目录下apache-tomcat-9.0.26\conf\logging.properties 替换全文 encoding = UTF-8 为 encoding = GBK: rest ...

  6. 素数路径Prime Path POJ-3126 素数,BFS

    题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...

  7. golang1.13中重要的新特新

    本文索引 语言变化 数字字面量 越界索引报错的完善 工具链改进 GOPROXY GOSUMDB GOPRIVATE 标准库的新功能 判断变量是否为0值 错误处理的革新 Unwrap Is As gol ...

  8. 字符串转数字(with Java)

    1. 字符串中提取数字 两个函数可以帮助我们从字符串中提取数字(整型.浮点型.字符型...). parseInt().parseFloat() valueOf() String str = " ...

  9. Spring Cloud 全链路追踪实现

    简介 在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用Sleuth+Zipkin+RabbitMQ+ES+ ...

  10. Case1-basic network framework/Related organization‘s name

    常见的计算机网络物理拓扑结构: 1.星型网 2.树型网 3.分布式网络 4.总线型网 5.环型网 6.复合型网络 计算机网络相关的标准化组织: 国际标准化组织(ISO):International O ...