Git自学成才——rebase完整版

我在自己的开发分支上,而master分支上面有很多提交,现在需要我把master上面的更改rebase到自己的分支。

查看分支

$ git branch
* dbg_lichen_comment
  master

我现在在自己的分支上,切换分支

$ git checkout master

再次查看分支

$ git branch
  dbg_lichen_comment
* master

拉取master上面的最新代码

$ git pull --rebase

再切换回自己的分支

$ git checkout dbg_lichen_comment

执行rebase变基

$ git rebase master
...
Auto-merging app/build.gradle
CONFLICT (content): Merge conflict in app/build.gradle
...
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

出现了冲突,如提示的一样,--continue表示继续;--skip表示跳过;--abort表示中断。

解决了冲突之后,尝试--continue

$ git rebase --continue
app/build.gradle: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add

就像提示说的一样,需要add表示已经解决冲突。

此时我查询一下当前状态

$ git status
rebase in progress; onto 726ee8d
You are currently rebasing branch 'dbg_lichen_comment' on '726ee8d'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

提示正在rebase的过程中,此时头指针处于游离态。

那么,我add一下已经解决了冲突的文件

$ git add app/build.gradle

之后,我再次尝试continue(如果有多个冲突,则会反复执行上一步操作)

$ git rebase --continue
Applying: 【Sprint6.0】【feature开发】【story=newsAnd-14】abc                                                                   
Applying: 【Sprint6.0】【feature开发】【story=newsAnd-14】123

此时,已经成功完成了rebase,然后push

$ git push origin :dbg_lichen_comment // 先删除远程分支
$ git push origin dbg_lichen_comment:dbg_lichen_comment // 再push
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 朋友整理的,放这里偶尔过来看看 一、基本介绍 首先,Git作为版本控制系统,他的原理与SVN为首的集中式版本控制系...
    allenzhan阅读 1,019评论 0 3
  • Git安装 地址:https://git-scm.com/downloads 下载对应平台的git版本安装即可 G...
    foxleezh阅读 3,989评论 0 11
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,429评论 0 1
  • 注意事项 参考1,图片也来源于该链接;参考2。 变基操作的 实质是丢弃一些现有的提交,然后相应地新建一些内容一样但...
    一江碎月阅读 1,949评论 0 0
  • 将一个分支合并到另一个分支有两种,一种是大多都很熟悉的 merge(合并),另一种就是本篇要介绍的 rebase(...
    tingtingtina阅读 1,895评论 0 5