rebase就是重新定义你分支的起点, 分支上的commit将生成对应的新的commit并放在你指定的新的起点commit后, 分支上的老commit将被删除.

rebase就是将你的分支从一个commit移动到另一个commit作为起点.

用法

git rebase <base>

将base做为你当前分支的新起点, 这个<base>可以是任何一种commit引用(如ID, brand名, tag, HEAD~N).

讨论

rebase的主要目的就是保持project history是在一条线上没有分叉的. 例如, 想象下当你的feature branch生成修改后, 你又回过头去修改了的你的master(分叉了):

你有两种方法用来合并feature到master: 直接使用merge或者rebase后再merge. 下图展示第二种方法:

rebase是一个常用的方法, 用来集成上流的change到你的本地仓储. 换句话来说, rebase就像是在说"我想将我的修改base到每个人做的commit之后".

例子

最新文章

  1. php单条件查询,关键字查询
  2. [C++11][数据结构]自己的双链表实现
  3. Install Nvidia driver 367.18 or later
  4. TSP问题——动态规划
  5. 这是经典的&quot;百马百担&quot;问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
  6. BASH 命令以及使用方法小结
  7. 使用bootstrap框架的模态框与ckeditor产生冲突,ckeditor的弹出窗不可用时的解决方法
  8. 题目:打印出所有的 &quot;水仙花数 &quot;,所谓 &quot;水仙花数 &quot;是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 &quot;水仙花 数 &quot;,因为153=1的三次方+5的三次方+3的三次方。
  9. ASP.NET MVC报错: Multiple types were found that match the controller named
  10. what is delta simulation time
  11. Polygon Table - Google Chrome
  12. FORM表单不刷新提交POST数据
  13. 股票K线图-JfreeChart版
  14. Python冒泡算法和修改配置文件
  15. xtrabackup备份mysql数据库的使用方法
  16. 通过业务系统的重构实践DDD
  17. 爬虫之scrapy扩展
  18. How Does Closure Work in Javascript?
  19. springboot整合netty(二)
  20. python 全栈开发,Day120(路由系统, 实例化Flask的参数, 蓝图(BluePrint), before_request after_request)

热门文章

  1. Bzoj4066 简单题
  2. TYVJ1427 小白逛公园
  3. Nginx Parsing HTTP Package、header/post/files/args Sourcecode Analysis
  4. PHP预定义接口
  5. ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名
  6. Character literal must contain exactly one character -- 一天一点小知识
  7. JAVA内存机制
  8. uC/OS-II汇编代码
  9. IBatis一对多嵌套查询
  10. 枚举类型Enum