GIT rebase讲解
对分支进行rebase
从master分支checkout出fork分支,并在master和fork上都进行了一些修改
现在fork分支想要及时的同步master分支上的修改,避免在已经失效的代码上继续工作
该过程总的提交树变化如下:
对一段commit进行整理(squash)
很多开源项目要求参与者在发起RP前对本次的commit进行squash,关联上该RP的issue编号,下面看下如何达到此目的:
首先我在fork分支上进行了随意的两次commit
然后使用
git rebase -i
命令进行整理命令格式:
git rebase -i <startpoint> <endpoint>
需要注意<startpoint> <endpoint>是左开右 闭,所以<startpoint>应该是你需要整理的commit的上一 次提交id。
git rebase -i e14ed9d^ 342889d
把除去第一行的其他行的pick命令修改为squash命令
然后按照相关开源项目要求编辑整理后的comment注释
最好查看提交记录确认提交历史已经改变
此时HEAD处于了游离状态,所以我们需要把fork分支的HEAD重置到最后的commit
GIT rebase讲解的更多相关文章
- 关于git rebase的相关讲解
http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin" ...
- git rebase 与 merge 的那些事儿~(详细图解,通俗易懂)
什么是 rebase? git rebase 你其实可以把它理解成是"重新设置基线",将你的当前分支重新设置开始点.这个时候才能知道你当前分支于你需要比较的分支之间的差异. 原理很 ...
- 【转】git rebase详解
git合并代码方式主要有两种方式,分别为:1.merge处理,这是大家比较能理解的方式.2.rebase处理,中文此处翻译为衍合过程. git rebase操作讲解例子: cd /usr/local/ ...
- Git应用详解第九讲:Git cherry-pick与Git rebase
前言 前情提要:Git应用详解第八讲:Git标签.别名与Git gc 这一节主要介绍git cherry-pick与git rebase的原理及使用. 一.Git cherry-pick Git ch ...
- 你在开发过程中使用Git Rebase还是Git Merge?
摘要:在git里面经常的一个争论是到底用rebase还是用merge? 1. 痛苦吗?代码历史中的迷失羔羊 我们先来看一个真实的代码提交历史图形化截图: 图片源自 https://storage.kr ...
- git rebase
git rebase -i HEAD~[number_of_commits] git rebase -i HEAD~2
- git rebase与 git合并(error: failed to push some refs to)解决方法
1.遇到的问题 本地有一个git仓库,在github上新建了一个空的仓库,但是更新了REWADME.md的信息,即在github上多了一个提交. 关联远程仓库,操作顺序如下: git remote a ...
- 聊下 git rebase -i
在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交. 在一个基本的迭代周期里,你会有很多次commit,有跟配置文件相关的, ...
- [git]rebase和merge
转自:http://blog.csdn.net/wh_19910525/article/details/7554489 Git merge是用来合并两个分支的. git merge b # 将b分支合 ...
随机推荐
- 25个增强iOS应用程序性能的提示和技巧 — 中级篇
本文由破船译自:raywenderlich 转载请注明出处:BeyondVincent的博客 _____________ 在开发iOS应用程序时.让程序具有良好的性能是非常关键的.这也是用户所期望的. ...
- Git rebase日志
Git日志重写 为了方便管理,最近公司git接了jira,然后开发任务需要在jira上面先建立task,然后再task上面建立分支,后面该分支就和这个task进行了绑定. 因为之前一直使用传统的svn ...
- HDU5343:MZL's Circle Zhou(SAM,记忆化搜索DP)
Description Input Output Sample Input Sample Output Solution 题意:给你两个串,分别从两个里面各选出一个子串拼到一起,问能构成多少个本质不同 ...
- [HAOI2018]奇怪的背包
题目 暴力\(dp\)好有道理啊 于是我们来个反演吧 考虑一个体积序列\(\{v_1,v_2,...v_n\}\)能凑成\(w\)的条件 显然是 \[v_1x_1+v_2x_2+...+v_nx_n\ ...
- virtualbox+vagrant学习-2(command cli)-8-vagrant Package命令
Package 格式: vagrant package [options] [name|id] 这将当前正在运行的VirtualBox或Hyper-V环境打包到一个可重用的box中.如果provide ...
- TortoiseGit需要重复填写用户名和密码的问题
命令行执行: git config --global credential.helper store 即可
- 添加Image Stream(转)参考 开源容器云OpenShift
Image Stream是一组镜像的集合,可以在一个Image Stream中定义一些名称及标签,并定义这些名字及标签指向的具体镜像. 使用Image Stream的目的是方便地将一组相关联的镜像进行 ...
- 安装framework 4.6.2的时报错 “无法建立到信任根颁发机构的证书链”
解决方案: 1.下载证书:MicrosoftRootCertificateAuthority2011.cer 2.开始→运行→MMC 3.文件→添加删除管理单元 (Ctrl+M) 4.证书→计算机账户 ...
- x$ksppi与x$ksppcv查询隐藏参数
数据库版本:oracle11g 11.0.2.0.4 SQL> desc x$ksppi; Name Null? Type -------------------- -------- --- ...
- 【OC底层】KVO原理
KVO的原理是什么?底层是如何实现的? KVO是Key-value observing的缩写. KVO是Objective-C是使用观察者设计模式实现的. Apple使用了isa混写(isa-swiz ...