git rebase是git下比较常用的命令,以下记录自己遇到较多的使用场景。

合并分支

在多人协作的项目中,拉分支是很常见的事情,经常需要同步自己的分支与远端master分支一致,有两种方式:

  • git merge master
  • git rebase master

两者的区别在于:前者会在生成一条 Merge branch master into XXX 的commit记录,而后者能保持commit干净。

git rabase 在开源提交PR时,能够更好地保持commit 整洁,消除了多余的 Merge log。

# 假设私拉分支为fix_bug,且当前处于此分支上
# 同步master分支
git fetch master
git rebase master # 如何有冲突,会暂停rebase,需要手动解决冲突,然后
git add your_conflict_file
git rebase --continue # 在任何时候,都可以终止rebase
git rebase --abort
# 会回到执行rebase前的状态 # 在当前分支git pull时有时候也会产生Merge记录
# 可以在后面加上--rebase,保持commit log整洁
git pull --rebase

合并多条commit记录

# 合并最近提交的3条commit
git rebase -i HEAD~3 # pick 表示选择此次commit,squash表示将此commit和上一条commit合并
# 修改完之后,wq保存退出,会合并commit
# 切忌不要 git pull
# 因为合并的是远程已经push的commit,要应用合并,需强制push
git push -f

Git敏捷开发--rebase命令的更多相关文章

  1. Git敏捷开发--stash命令

    save 执行git stash,默认以commit info保存当前的stash信息 当在某个commit下,执行多次stash时,无法友好地区分每个stash的改动.save 命令可以清晰地标识每 ...

  2. Git敏捷开发--常用别名

    前言 在Unix下终端开发时,经常会搭配 oh-my-zsh 来使用. oh-my-zsh 中默认内置 git 插件,且支持许多 git alias 的命令,这里对常见的命令进行总结,以供查阅. 常用 ...

  3. git团队开发常用命令

    Git >>>>>>>>>>>> git clone <项目地址,http(s)> 把云端的项目克隆到本地 git ...

  4. Git敏捷开发--reset和clean

    reset 丢弃本地所有修改,强行和上游分支保持一致 git reset --hard HEAD 若仅丢弃某个文件的改动,利用checkout git checkout your_file clean ...

  5. Git rebase命令实战

    一.前言 一句话,git rebase 可以帮助项目中的提交历史干净整洁!!! 二.避免合并出现分叉现象 git merge操作 1.新建一个 develop 分支   2.在develop分支上新建 ...

  6. Git小技巧之使用Rebase命令合并提交

    想要获取更多文章可以访问我的博客 - 代码无止境. 在日常的开发过程中,我们一个功能可能会有很多次提交.而且我们公司的开发是不允许直接往公司仓库提交代码,所以需要fork到自己的仓库然后merge过去 ...

  7. 关于Git的merge和rebase命令解析

    git rebase是对提交执行变基的操作.即可以实现将指定范围的提交"嫁接"到另外一个提交智商. 其常用的命令格式有: 用法1:git rebase --onto <new ...

  8. 如何让Git适应敏捷开发流程?

    一旦涉及到版本控制系统,Git实际上代表敏捷开发的水平.Git作为一款强大的开源系统,有较强的灵活性,可以按需匹配任何开发团队的工作流程.而这种分布式相比较集中式来说,可以赋予系统更好的性能特征,且允 ...

  9. [Git] 023 Re:从零开始的 rebase 命令

    1. 开门见山 我新建了一个本地仓库,并进行了一些操作 当前情况 查看(直观但不明了) 上图的第二条 "log" 命令详见 [Git] 024 log 命令的补充 的 " ...

随机推荐

  1. 洛谷P1957口算练习题题解

    前言: 题目传送门:https://www.luogu.com.cn/problem/P1957 其实这很简单 纯模拟撒~~~~ 正文开始: _话说 ,就当本蒟蒻正高高兴兴的刷水题时,居然 碰到了这个 ...

  2. Apache Druid 底层存储设计(列存储与全文检索)

    导读:首先你将通过这篇文章了解到 Apache Druid 底层的数据存储方式.其次将知道为什么 Apache Druid 兼具数据仓库,全文检索和时间序列的特点.最后将学习到一种优雅的底层数据文件结 ...

  3. VScode+phpStudy搭建php代码调试环境

    一.安装Visual Studio Code 官网:https://code.visualstudio.com/ 下载安装包后,按照默认安装即可 安装中文语言环境 点击左侧工具栏的 extension ...

  4. 你真的理解 if __name__ == '__main__' 的作用么?

    https://blog.csdn.net/Amberdreams/article/details/88382993

  5. 数据分析之上篇---numpy模块

    目录 一.简介 二.ndarray -多维数组对象 1.为什么要是用ndarray? 2.创建ndarray对象 3.ndarray多维数组创建 4.常用属性 5.数据类型 6.ndarray 数组创 ...

  6. python 错误记录及处理

    1.pandas解决“pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, ...

  7. [算法笔记] PAT-ADV-1020

    题目要求:给出二叉树的后序遍历序列和中序遍历序列,输出二叉树的层次遍历序列. (传送门) Sample Input 7 2 3 1 5 7 6 4 1 2 3 4 5 6 7 Sample Outpu ...

  8. java——构造器理解

    构造器理解 什么是构造器 构造器也叫构造方法:用于对象的初始化: 写构造器注意事项 构造器名与类名一致:有返回值但是不能定义返回类型(返回值类型是本类,可以加一个空的return): 构造器的调用 通 ...

  9. 1+X Web前端开发(初级)理论考试样题(附答案)

    传送门 教育部:职业教育将启动"1+X"证书制度改革 职业教育改革1+X证书制度试点启动 1+X成绩/证书查询入口 一.单选题(每题 2 分,共 60 分) 1.在 HTML 中, ...

  10. 人工智能新手入门学习路线和学习资源合集(含AI综述/python/机器学习/深度学习/tensorflow)

    [说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] 1. 分享个人对于人工智能领域的算法综述:如果你想开始学习算法,不妨先了解人工 ...