git rebase 变基的理解
1. rebase翻译:变基
理解:
在git的主要功能就是把某个分支的‘提交commit’提取出来作为‘补丁’,然后把这个补丁提交到你的基底分支(通常是master)。
这样你会发现你的分支提交已经在master分支的前面了。
如果这段不好理解,请看:
http://gitbook.liuhui998.com/4_2.html
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
思考:
我们如何具体实操rebase。
情景1:可能远程分支已经有了新的提交,但是你的本地master有了几次提交,本地local分支也有看几次提交。
注意:操作之前先备份代码
注意:操作之前先备份代码
注意:操作之前先备份代码
1. 先提交本地分支
//查看当前分支
git branch
//切换分支,如果没有local分支,或者已经是在分支,此步骤省略
git checkout xx
//查看修改情况
(local)git statuts
//加入缓存区
(local)git add -u
//提交
(local)git commit -m 'xxx'
2. 把local的分支基底,提到master分支的前面
(local)git rebase master
//local分支和master分支进行合并(master和local的指针在同一节点)
(local)git chcekout master
(master)git merge local
3.更新远程代码, 如果有冲突则修改冲突
(master)git pull
//如果远程分支和本地master的分支指针不在同一个节点,
//把本地的master分支提到(远程master的前面),rebase
//注意你的local分支指针,如果和master分支指针在不同节点
//还想再次切换会local分支继续开发,
//则在提交完成本次代码后,参考情景2
4. 提交到远程
(master)git push
情景2:本地的local分支还没有修改完成,但是需要更新别人提交的代码
注意:操作之前先备份代码
注意:操作之前先备份代码
注意:操作之前先备份代码
1.在master分支更新代码
2.切换到local分支,然后 git rebase master,如果冲突则修改冲突
git rebase --continue
在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:git rebase --continue
这样git会继续应用(apply)余下的补丁。
在任何时候,你可以用--abort参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。
git rebase --abort
具体请参考官方文档:
http://gitbook.liuhui998.com/4_2.html
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
git rebase 变基的理解
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 查看需要变更的commitimage.png 如果需要对b8f395c进行变基,则要变更的基的ID号要选择被变的父...
- 把一个分支中的修改整合到另一个分支的办法有两种merge 和 rebase,通过对比可以更好的理解rebase的过...
- 同一个分支, 多人开发, 提交记录不交叉; 不同分支之间, 不用rebase, 用merge, 如果有冲突, 会恶...
- 这一章讲的比特币的交易记录的细节。通过这一章你可以理解,比特币的交易是采用什么样的组织形式构成的,同时也可以看到,...