当前位置: 首页 > news >正文

Idea 获取 git 仓库时更新类型update type 的选择

Idea 获取 git 仓库时更新类型update type 的选择

各选项代表内容:
在这里插入图片描述

注意:

Update Type 选择

  • Merge:结果与运行 git fetch ; git merge 或 结果相同 git pull。
  • Rebase:结果与运行 git fetch ; git rebase 或 结果相同 git pull --rebase。
  • Branch Default:此选项用于选择应用分支的默认命令。default 命令 branch. 在 .git/config 配置文件的部分中 指定 。

使用场景:

Merge:因为成员的代码开发工作已经完成了,也不需要再保留这个分支了,所以我们可以把这个成员分支 merge 到主分支上,当然冲突在所难免,手工解决的工作肯定逃不掉,但是利大于弊不是吗。merge 以后,分支就不存在了,但是在 Git 的所有分支历史中还能看到身影。

Rebase:如果修改了某个公用代码的 BUG,这个时候就应该是把所有的 OEM 版本分支 rebase 到这个修复 BUG 的分支上来,在 rebase 过程中,Git 会要你手动解决代码上的冲突,你需要做的就是把修复 BUG 的代码放到目标分支代码里面去。rebase 的结果是:所有的分支依然存在。

比如说自己在自己分支开发了一段时间,之后另外的同事开发的功能正式上线到 master 分支了,那么我可以在当前的分支下 rebase 一下 master 分支,这样我这个分支的几个 commits 相对于 master 还是处于最顶端的,也就是说 rebase 主要用来跟上游同步,同时把自己的修改顶到最上面

  1. merge 结果能够体现出时间线,但是 rebase 会打乱时间线。
  2. 而 rebase 看起来简洁,但是 merge 看起来不太简洁。
  3. 最终结果是都把代码合起来了,所以具体怎么使用这两个命令看项目需要。

还有一点说明的是,在项目中经常使用git pull来拉取代码,git pull相当于是git fetch + git merge,如果此时运行git pull -r,也就是git pull –rebase,相当于git fetch + git rebase

相关文章:

  • Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP
  • 8080 端口被占用的解决方法 netstat -ano;taskkill (命令行)
  • 手写 Spring MVC
  • Oracle 在 Drop 表时的 Cascade Constraints
  • Oracle:ORA-01219:database not open:queries allowed on fixed tables/views only
  • MyBatis: Invalid bound statement (not found) 错误的可能原因
  • Git 删除已经 Push 的远程文件夹或文件的命令方法
  • 写给自己 - 开发路上
  • ubuntu 18 自带截图工具 - 快捷键
  • svn 必须会敲的常用命令
  • ubuntu 18 解锁文件目录(谨慎操作)
  • ubuntu 18 安装 navicat Premium 中文乱码(很彻底)
  • 在 ubuntu 18 中为 navicat 创建快捷方式
  • You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes
  • Ubuntu 18 使用命令卸载软件
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 《深入 React 技术栈》
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CentOS从零开始部署Nodejs项目
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Hibernate【inverse和cascade属性】知识要点
  • Redis在Web项目中的应用与实践
  • select2 取值 遍历 设置默认值
  • socket.io+express实现聊天室的思考(三)
  • Vim 折腾记
  • 诡异!React stopPropagation失灵
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 离散点最小(凸)包围边界查找
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 目录与文件属性:编写ls
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 鱼骨图 - 如何绘制?
  • const的用法,特别是用在函数前面与后面的区别
  • 阿里云服务器购买完整流程
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #{} 和 ${}区别
  • (1) caustics\
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Core 版本不支持的问题
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net Redis的秒杀Dome和异步执行
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • @Resource和@Autowired的区别