博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git Rebase
阅读量:6231 次
发布时间:2019-06-21

本文共 1371 字,大约阅读时间需要 4 分钟。

参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/1216289527823648

效果:

$ git log --graph --pretty=oneline --abbrev-commit*   e0ea545 (HEAD -> master) Merge branch 'master' of github.com:michaelliao/learngit|\  | * f005ed4 (origin/master) set exit=1* | 582d922 add author* | 8875536 add comment|/  * d1be385 init hello

$ git log --graph --pretty=oneline --abbrev-commit* 7e61ed4 (HEAD -> master) add author* 3611cfe add comment* f005ed4 (origin/master) set exit=1* d1be385 init hello

原本分叉的提交现在变成一条直线了!这种神奇的操作是怎么实现的?其实原理非常简单。我们注意观察,发现Git把我们本地的提交“挪动”了位置,放到了f005ed4 (origin/master) set exit=1之后,这样,整个提交历史就成了一条直线。rebase操作前后,最终的提交内容是一致的,但是,我们本地的commit修改内容已经变化了(commit id也变了),它们的修改不再基于d1be385 init hello,而是基于f005ed4 (origin/master) set exit=1,但最后的提交7e61ed4内容是一致的

使用

输入命令git rebase就好了

$ git rebaseFirst, rewinding head to replay your work on top of it...Applying: add commentUsing index info to reconstruct a base tree...M	hello.pyFalling back to patching base and 3-way merge...Auto-merging hello.pyApplying: add authorUsing index info to reconstruct a base tree...M	hello.pyFalling back to patching base and 3-way merge...Auto-merging hello.py

  

 

小结

  • rebase操作可以把本地未push的分叉提交历史整理成直线;

  • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比?。因为多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功,总之看上去很乱,提交历史是一条干净的直线易于观察

转载于:https://www.cnblogs.com/Gaoqiking/p/11119210.html

你可能感兴趣的文章
hadoop+hive环境搭建(centos6.5)-01
查看>>
点到点子接口的帧中继配置
查看>>
计算机网络与Internet应用
查看>>
python md5
查看>>
强制转换与内存
查看>>
发送UDP应答包的思考
查看>>
ASA防火墙基本配置
查看>>
软文真的可以帮助我们的网站吗?
查看>>
现代程序设计 作业6 - 简单而有意义的题目
查看>>
70、MSTP简介
查看>>
【VMware虚拟化解决方案】构建VMware私有云 实现ITaaS
查看>>
每天一个linux命令-mkdir
查看>>
四天精通shell编程(二)
查看>>
Linux 学习笔记_8_进程管理_2_进程管理命令
查看>>
python3中实现客户端与服务端交互发送文件
查看>>
Centos yum异常问题
查看>>
标签制作软件中如何导出标签模板为PDF文件?
查看>>
时间戳
查看>>
Jenkins的安装过程(Windows)
查看>>
程序员面试-程序设计基本概念(1)
查看>>