Git rebase简介.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Git rebase简介

rebase 假设你现在基于远程分支origin,创建一个叫mywork的分支。 $ git checkout -b mywork origin 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git commit $ vi otherfile.txt $ git commit ... 但是与此同时,有些人也在origin分支上做了一些修改并且做了提交了. 这就意味着origin和mywork这两个分支各 自前进了,它们之间分叉了。 在这里,你可以用pull命令把origin分支上的修改拉下来并且和你的修改合并; 结果看起来就像一个新的合并的提 交(merge commit): 但是,如果你想让mywork分支历史看起来像没有经过任何合并一样,你也许可以用 git rebase: $ git checkout mywork $ git rebase origin 这些命令会把你的mywork分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放 到.git/rebase 目录中),然后把mywork分支更新 到最新的origin分支,最后把保存的这些补丁应用到mywork分支 上。 当mywork分支更新之后,它会指向这些新创建的提交(commit),而那些老的提交会被丢弃。 如果运行垃圾收集命令 (pruning garbage collection), 这些被丢弃的提交就会删除. (请查看 git gc) 现在我们可以看一下用合并(merge)和用rebase所产生的历史的区别: 在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突 后,用git-add命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行: $ git rebase --continue 这样git会继续应用(apply)余下的补丁。 在任何时候,你可以用--abort参数来终止rebase的行动,并且mywork 分支会回到rebase开始前的状态。 $ git rebase --abort

您可能关注的文档

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档