您的位置:首页 > 其它

一篇帮助理解git rebase的好文章 ( by quqi99 )

2013-01-16 10:22 330 查看

一篇帮助理解git rebase的好文章 ( by quqi99 )

作者:张华 发表于:2013-1-16

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

( http://blog.csdn.net/quqi99 )

见《图示Git执行流程》http://www.zhaoxiaoqing.cn/a/php/php1/2012/1025/654.html



如上图,rebase的步骤:

1)它首先要git checkout topic,即会将HEAD指针移到topic分支上

2)会将topic与master分支的共同祖先一直到topic分支的所有提交生成patch文件,即会为169a6, 2c33a生成patch文件

3)它强制git reset master分支上,这时候工作区内容都是master分支的内容,然后将上步的patch文件挨个patch上

4)一个个打patch完后,再一个个提交,提交时也会在master处重建那个topic分支。所以它始终是在topic分支提交的

根据http://www.zhaoxiaoqing.cn/a/php/php1/2012/1025/654.html中的git commit命令的流程是:git用暂存区域的文件创建一个新的提交,并把此时的节点设为父节点。然后把当前分支(也就是topic)指向新的提交节点(f7e63)。

git rebase的源代码位于:http://www.opensource.apple.com/source/Git/Git-26/src/git/git-rebase.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: