码迷,mamicode.com
首页 > 其他好文 > 详细

git rebase使用

时间:2014-10-31 23:26:09      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   ar   使用   for   sp   div   

git rebase在《git权威指南》一书中被翻译为变基,听着有些别扭吧,变基变基,变成库克了,在《pro git》中被翻译成衍合,所以以后git rebase均使用《pro git》中的翻译方式。

在git中将个分支中的修改整合到另一个分支的办法有两种:merge和rebase,现在又如下使用情景,在master分支的第3次提交产生一个分支dev,在这个dev分支上做了两次提交,而此时master分支由于某些原因又进行了两次提交,现在需要将dev分支和master分支合并,这时有两种方法实现,一种是merge一种是rebase。

bubuko.com,布布扣

使用merge时在dev分支中的提交不会发生变化,这对于有其他人使用次分支时很重要,但是这个操作会产生三个提交,包含一个合并提交,因此在将特性分支合并到主干master上时一般不使用merge;使用rebase操作看起来就像是顺序提交,方便管理,rebase操作的具体过程为:

  • 确保工作区位于dev分支上:git checkout dev
  • 执行衍合操作:git rebase master
  • 如果有冲突需要先解决冲突,解决完冲突之后执行:git rebase --continue
  • 如果想放弃这次操作可以执行:git rebase --abort
  • 如果是想直接使用master分支取代此分支,可以执行:git rebase --skip

可以给rebase加上-i参数进行交互式rebase,

交互式rebase提供了一个简单易用的途径让你在和别人 分享提交之前对你的提交进行分割、合并或者重排序。在把从其他开发者处拉取的提交应用到本地时,你也可以使用交互式rebase对它们进行清理。如果你想在rebase的过程中对一部分提交进行修改,你可以在‘git rebase‘命令中加入‘-i‘或‘--interactive‘参数去调用交互模式。

git commit -i commit号

使用-i进行交互式rebase时会有一些交互式命令

  # Commands:
  #  p, pick = use commit
  #  r, reword = use commit, but edit the commit message
  #  e, edit = use commit, but stop for amending
  #  s, squash = use commit, but meld into previous commit
  #  f, fixup = like "squash", but discard this commit‘s log message
  #
  # If you remove a line here THAT COMMIT WILL BE LOST.
  # However, if you remove everything, the rebase will be aborted.
例如可以使用pick命令改变提交的顺序,如果不会有冲突;使用squash命令,git会把这个提交和前一个提交合并成为一个新的提交,这会再次调用编辑器,可以在里面合并这两个提交的提交信息;如果指定进行‘edit‘操作,git会完成同样的工作,但是在对下一提交进行操作之前,它会返回到命令行让你对提交进行修正,或者对提交内容进行修改;交互式rebase的另外一个作用是丢弃提交,如果把一行删除而不是指定‘pick‘、‘squash‘和‘edit‘‘中的任何一个,git会从历史中移除该提交。
 
参考资料:
  • http://book.douban.com/subject/3420144/
  • http://book.douban.com/subject/6526452/
  • http://blog.chinaunix.net/uid-27714502-id-3436706.html
  • http://blog.csdn.net/lihaoweiv/article/details/7740031

git rebase使用

标签:blog   http   io   os   ar   使用   for   sp   div   

原文地址:http://www.cnblogs.com/elvalad/p/4066133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!