首页 > 其他分享 >git提交代码

git提交代码

时间:2022-11-15 12:13:48浏览次数:48  
标签:git 代码 feature merge master 提交 分支

git提交代码之前最好做的操作是:

目前的分支feature是从master拉出来的分支,在你提交代码之前,你不确定在这之间是否有人更改过master,导致你

当前的feature分支落后于主分支,最好执行下面的两个操作之一。

第一个是在提交你的分支之前将master分支merge到你的分支。

第二个是在提交你的分支之前将master分支rebase到你的分支。

 

1、提交你的分支之前将master分支merge到你的分支

先把分支切换到master分支,拉取最新的代码,然后切换到feature分支,执行 git merge master指令,

这样就会把master最新的提交合并到你的分支(这个时候可能会有提示冲突,可以解决),然后你再提交自己的代码,然后你再merge到master分支的时候,

一般就不会遇到冲突(如果有的话,已经在本地的时候解决了)或者提示代码落后。

这样的坏处是:会产生多个无法消除的merge commit信息。

这样的好处是:你可以知道自己的分支或者master分支,什么时候做了什么事。

 

2、提交你的分支之前将master分支rebase到你的分支

先把分支切换到master分支,拉取最新的代码,然后切换到feature分支,执行git rebase master指令,

这样也会把master最新的提交合并到你的分支,但是不会产生新的merge commit信息,然后你再提交自己的代码,然后你再merge到master分支的时候,

一般就不会遇到冲突(如果有的话,已经在本地的时候解决了)或者提示代码落后。

这样的坏处是:你的feature分支不会有清晰的从什么节点拉出来的信息

这样的好处是:你的feature分支的commit信息和master是保持一致的,也不会产生多余的merge commit信息

 

注意:rebase的操作要谨慎,只能在feature这个分支只有你一个人在用的时候,执行rebase操作,不然就会导致其他人使用冲突。

rebase操作相当于是将当前master的提交(你feature落后的分支)塞到你的feature分支上,不产生新的commit信息。

 

参考:

https://zhuanlan.zhihu.com/p/57872388

 

 

标签:git,代码,feature,merge,master,提交,分支
From: https://www.cnblogs.com/comeoncode/p/16891987.html

相关文章

  • 最优秀的一批程序员,在用最蠢的方式写代码
    善战者,无赫赫之功。这句话的字面意思是说,总是轻松打胜仗的将军,别人就会觉得他没有多少功劳。那对于一个程序员来说,按部就班的完成需求,算不算一种成绩?悲观地说,可能并不算。不......
  • C#操作Excel代码总结(转载)方便查看
    //引用Microsoft.Office.Interop.Excel.dll文件//添加usingusingMicrosoft.Office.Interop.Excel;usingExcel=Microsoft.Office.Interop.Excel;//设置程序运行语言Syst......
  • 代码随想录Day23
    LeetCode110.平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。......
  • Jenkins&&gitlab
    DevOps强调整个组织的合作以及交付和基础设施变更的自动化gitlab下载:下载地址:https://docs.gitlab.com/ee/install/requirements.html#安装依赖https://packages.gi......
  • idea提交代码时.gitignore过滤不生效问题
    gitrm-r--cached.gitadd.gitcommit-m'update.gitignore'如果遇到报错error:thefollowingfilehasstagedcontentdifferentfromboththefileand......
  • 代码块、final关键字
    目录代码块final关键字代码块代码块的作用:用来初始化类、对象代码块如果有修饰的话,只能使用static分类:静态代码块vs非静态代码块静态代码块: 内部可以有输......
  • 动态代理简单代码
     /***业务接口*/publicinterfaceSubject{voidcall();} /***业务接口的实现(被代理的类)*/publicclassRealSubjcetimplementsSubject{......
  • 新生第二次考核代码
    A.HFUU(easyversion)字符串#include<stdio.h>chara[100];intn=9,m=32;intmain(){for(inti=0;i<n;i++){scanf("%s",a+1);/......
  • Git 使用详解
     Git使用详解  前言:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。但是很多同学仍然不会用,今天我们就来详细讲一下这个Git到底怎......
  • git常用指令速查
    重要指令:工作流程图上的7个指令(clone+fetch+pull+checkout+add+commit+push)和2个常用指令(log+merge)常用指令速查:   --基本操作类:        gitinit......