Git:分支发散问题处理,合并、变基和快进_divergent branches

173 阅读3分钟
变基(Rebase)
  • 命令git pull --rebase
  • 作用:将我们的本地分支上的提交解除(uncommit),然后把它们临时存储,接着把远程分支的更新拉取到本地,最后将那些临时存储的提交重新应用到本地分支上。
  • 优点:可以创造出一条更干净、直线的项目历史。
  • 缺点:如果在团队中广泛使用,可能会导致混乱,因为它改变了提交的顺序。
快进(Fast-forward)
  • 命令git pull --ff-only
  • 作用:只在本地分支可以直接前进到远程分支的情况下更新,确保本地没有额外的变更。
  • 优点:保持了历史的线性,避免了不必要的合并提交。
  • 缺点:如果本地有未推送的提交,这个命令会失败。

设置默认策略

为了避免每次都手动指定合并策略,我们可以通过Git配置来设置默认的拉取行为:

  • 全局设置:适用于你系统上所有的Git仓库。
    • git config --global pull.rebase false(合并)
    • git config --global pull.rebase true(变基)
    • git config --global pull.ff only(快进)
  • 仓库设置:只适用于当前的Git仓库。
    • git config pull.rebase false(合并)
    • git config pull.rebase true(变基)
    • git config pull.ff only(快进)

总结

选择哪种策略取决于我们的项目需求和团队习惯。合并保持了历史的完整性,变基提供了清晰的历史线性,而快进避免了不必要的合并提交。正确使用这些工具可以帮助我们更有效地管理你的Git仓库和项目历史。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK