git merge
Merge types
- fast-forward (常用)
- Non fast-forward
- recursive(常用) /ort
- octopus
- ours
- subtree
快速合并
两个分支一前一后,没有分叉,快速分支不会建立一个合并节点。
合并更改但是不合并分支
使用 --squash
将feature分支上所有更改复制到当前的暂存区 并使用提交。实现非合并或获取更改
#------------------- 合并更改 -------------------------
git merge --squash feature
Updating d160c4f..cb7113a
Fast-forward
Squash commit -- not updating HEAD
feature/f1.txt | 0
feature/f2.txt | 0
2 files changed, 0 insertions(+), 0 deletions(-)
git: 'loh' is not a git command. See 'git --help'.
#------------------- commit -------------------------
git commit -m "merge feature"
[master 793e85d] merge feature
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 feature/f1.txt
create mode 100644 feature/f2.txt
# log
commit 793e85deff025ea3ee55cf203afa2876f668142e (HEAD -> master)
Author: x
Date: x
merge feature
commit d160c4f0d6924df2ccd07f1107a462b41f0af039
Author: x
Date: x
“m2
非快速合并
如果两个分支都有进行提交,此时需要创建一个合并节点。也是使用
# 处于 main 分支
git merge --no-ff feature
此时同样可以使用 --squash
参数在不合并分支的前提下,在当前分支添加修改
git merge --squash feature
作者:bigsharker
出处:https://www.cnblogs.com/bigsharker/p/18198506
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构