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

image.png

非快速合并

如果两个分支都有进行提交,此时需要创建一个合并节点。也是使用

# 处于 main 分支
git merge --no-ff feature

image.png

此时同样可以使用 --squash 参数在不合并分支的前提下,在当前分支添加修改

git merge --squash  feature

image.png

作者:bigsharker

出处:https://www.cnblogs.com/bigsharker/p/18198506

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   big_shark  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示