git rebase( 操作会丢弃当前分支已提交的 commit)

  • merge 是一个合并操作,会将两个分支的修改合并在一起,默认操作的情况下会提交合并中修改的内容
  • merge 的提交历史忠实地记录了实际发生过什么,关注点在真实的提交历史上面
  • rebase 并没有进行合并操作,只是提取了当前分支的修改,将其复制在了目标分支的最新提交后面
  • rebase 的提交历史反映了项目过程中发生了什么,关注点在开发过程上面
  • merge 与 rebase 都是非常强大的分支整合命令,没有优劣之分,使用哪一个应由项目和团队的开发需求决定
  • merge 和 rebase 还有很多强大的选项,可以使用 git help <command> 查看
  • 使用 merge 时应考虑是采用 --no-ff 默认操作,生成一个对回顾提交历史并不友好的合并记录,还是采用 --ff-only 方式
  • rebase 操作会丢弃当前分支已提交的 commit,故不要在已经 push 到远程,和其他人正在协作开发的分支上执行 rebase 操作
  • 与远程仓库同步时,使用 pull 命令默认进行了 git fetch + git merge --no-ff 两个操作,可以通过加上 --rebase 命令将 fetch 后的 merge 操作改为 rebase 操作,或者仅仅 'git fetch remoteName',然后才思考采取哪种整合策略 git merge(or rebase) origin/master
  • 开发与 commit 时注意自己此时在哪个分支上,当有修改未 commit 时,不能进行 rebase 操作,此时可以考虑先用 git stash 命令暂存
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01 分支的实现原理 Git的分支特性常常被称为“必杀技特性”,因为分支给团队开发提供了很大的便利,而且在Git中...
    Happioo阅读 1,208评论 0 1
  • 雨 会是一场瓢泼瓦灌 又或者淅淅沥沥而已 雨 是我藏在云底的忧伤 它落下的时节 也正是我重逢忧伤的时刻 雨 我不愿...
    光耀我心阅读 114评论 0 0
  • 风 打开扉页的蓝 清浅的时光 涂满颤动的笔尖 墨水 晕开一道浪花 绽放在五月的麦田 提笔 花开成思念 揉碎的怅惘 ...
    躲进麦田阅读 183评论 2 9
  • 我想你的时候 不是我 是那个日记被发现的孩子 本子上凌乱的写着 关于你的抽象 我想你的时候 不是我 是那个不会停止...
    林丰满阅读 245评论 0 1
  • Angelababy的出院照刺激了一大波当妈的,于是朋友圈里还出了这样一个段子。 今天被这组图和文字给快刷爆朋友圈...
    涵涵妈育儿阅读 244评论 0 0