Git在idea中的实战使用经验(二)

接着上文继续说,如果你没看过上一篇,笔者推荐你去看这篇文章:

Git在idea中的实战使用经验(一)-CSDN博客

8.代码提交

提交后我们可以在本地分支上看到提交的记录

9.同步远程分支

点击push即可完成对远程分支的同步

同时:如果你是新创建了一个本地的分支,你只有通过这个操作,才能创建与本地分支对应的远程分支

我们现在去远程仓库看一下

然后我们开始push操作

10.代码合并&合作开发

10.1 merge命令

在一般情况下都可以使用merge进行操作

1.基本概念
  • 你想将一个分支的更改整合到另一个分支的时候,就可以使用merge操作
2.合并类型
  • 快进合并(Fast-forward merge)

当分支A是基于分支B创建时,并且分支A没有新的独立提交,只是在B上做了一些修改,在这种情况下,将A合并到B时就会发生快进合并,Git会直接将A的指针移动到B的最新提交上。因为A的历史完全包含在B的历史里面。

  • 三向合并(Three-way merge)

当两个分支(比如A和B)有各自独立的提交历史,并且你想要将A合并到B时,Git会先找到这两个分支的最近公共祖先(Last Common Ancestor, LCA)。然后,Git会将A相对于LCA的更改和B相对于LCA的更改合并到一起,创建一个新的合并提交。这个新的合并提交包含了来自两个分支的更改内容


下面这张图片属于两个分支0903和0904在test之前有共同的祖先,但是分开之后有各自的提交,这个时候就会出现这样分叉的情况

比如说合并【lvms】0904到【lvms】t0905的时候由于后者没有新的提交,所以合并的时候会快速合并,不会显示分叉

10.3cherry-pick

1.基本概念

cherry-pick允许你从一个分支选择一个或者多个特定的提交,并把他们应用到另一个分支上。就像是从一棵树上摘下(cherry-pick)你想要的果实(提交的内容),然后移植到另一颗树上(即另一个分支)

2.使用场景
  • 修复紧急问题:假设你在develop分支上发现了一个紧急的bug,这个bug在master分支上修复了。你可以使用cherry-pick将这个修复提交从master分支中挑选出来,然后应用到develop分支上,而不需要将整个master分支合并到develop分支。
  • 选择性集成:如果有一个功能分支feature-branch,其中包含了多个功能的提交,但是你只想将其中某个特定的功能提交集成到另一个分支,就可以使用cherry-pick来精确地选择哪个提交并应用到test-branch

11.idea上的gitlog图

在idea中,git的log视图默认在左下角,包含三部分内容:最左边的是分支信息视图,中间为提交历史,最右边是提交的信息视图

1. 分支信息

  • HEAD表示当前工作区所指向的提交,通常是与分支指针保持一致。黄色箭头
  • Local表示本地仓库中的分支列表,是本地分支的指针,仅存在于本地仓库。绿色箭头
  • Remote表示远程仓库分支信息,是各个跟踪分支的信息,默认按照"origin/分支名称"来命名。紫色箭头
相关推荐
李小白杂货铺5 分钟前
网络测速脚本(MacOS和Linux平台可用)
linux·macos·脚本·curl·ping·网络测速·网络测速脚本
REDcker6 分钟前
libevent、libev 与 libuv:对比、演进与实现原理
linux·c++·后端·编程·c·高并发·服务端
123过去11 分钟前
impacket-mssqlclient使用教程
linux·测试工具·安全
Chase_______16 分钟前
【Linux精讲|第1章】Vi 编辑器核心三模式——命令、插入、尾行全解析
linux·运维·编辑器
jinanwuhuaguo17 分钟前
OpenClaw v2026.3.22-beta.1 深度技术分析报告:从单智能体操作系统到多智能体协作平台的范式跃迁
运维·人工智能·语言模型·自然语言处理·visual studio code·openclaw
阿虎儿26 分钟前
实战教程:使用 Docker 五分钟搭建高性能异地组网 (WireGuard Easy)
运维
大虾别跑30 分钟前
麒麟v10搭建rsync
linux·运维·服务器
自动化智库32 分钟前
西门子XB208网管型交换机使用方法
运维·服务器·网络
桌面运维家33 分钟前
Nginx+Keepalived:Linux高可用负载均衡配置实战
linux·nginx·负载均衡
lbb 小魔仙33 分钟前
Portainer 实战:可视化管理 Docker并实现外网访问
运维·docker·容器