git代码合并的两种方式详解

Crq
Crq
管理员
1720
文章
0
粉丝
Linux教程评论89字数 320阅读1分4秒阅读模式
摘要git代码合并有两种:git Merge、git Rebase,其实这两句命令做的事是一样的,都是将一个分支合并到另一个分支,只是其合并的方式不同罢了!
git Merge

这种合并是将两个分支的历史合并到一起,现有的分支并不会被更改,它会比对双方不同的文件缓存下来,生成一个commit,去push

优点: 安全,现有分支不会被修改

缺点: 或多或少都会污染一点分支历史,在回看项目时会增加理解项目历史的难度

用处: 一般用于公共master主分支

git Rebase

这种合并通常称之为“衍合”,他是修改提交历史,比对双方的commit,然后找出不同的去缓存,然后在去push,修改你的commit历史。

优点: 项目历史会非常整洁

缺点: 安全性和可跟踪性很差,你将无法知晓你这次合并做了那些修改

用处: 绝不要在公共的分支上使用它。一般用于,自己本身独自使用的分支

总结

这两种方式各有优点和缺点,我们要根据实际情况和需要去决定去使用哪种合并方式。我的使用习惯一般是: 在我自己持有使用的分支,使用Rebase,保持好看的项目历史,在主master分支时使用Merge,这样安全和好跟踪修改!

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2024年9月7日 13:56:26
  • 转载请注明:https://www.cncrq.com/10607.html
实用!开发者的 Vim 插件(一) Linux教程

实用!开发者的 Vim 插件(一)

作为 Vi 的升级版,Vim 毫无争议是 Linux 中最受欢迎的命令行编辑器之一。除了是一个多功能编辑器外,世界各地的软件开发者将 Vim 当做 IDE(集成开发环境Integr...
Docker容器内多进程管理(一)-Supervisor Linux教程

Docker容器内多进程管理(一)-Supervisor

Docker在设计时并不推崇在一个容器中运行多个进程,但在一些实际的场景中很多都可能需要在一个容器中,同时运行多个程序。在非容器的环境下系统初始化的时候,都会启动一个init进程,...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证