Git分支合并终极大法,让你看完本篇学会所有场景下的代码合并


写在前面

“救命!我同时在改三个功能,代码全乱套了!” —— 这是每个开发者都会遇到的灵魂尖叫时刻。别慌,Git 分支合并就像整理杂乱的衣橱,掌握这些技巧,让你的代码仓库从灾难现场变成宜家样板间!


一、基础合并:把功能分支“塞进”主分支

1. 标准三步合并法
# 1. 切换到主分支(接收改动方)
git checkout main

# 2. 合并特性分支(把feature-branch的改动塞进来)
git merge feature-branch

# 3. 推送到远程
git push origin main

这就像把整理好的衣服(feature-branch)放进主衣柜(main),注意顺序不能反!

🛠️ 避坑指南

  • 合并前先git pull更新主分支,避免“你的衣柜和室友不同步”
  • 合并时关掉IDE,避免文件锁定冲突(血泪教训!)

二、高级合并:用Rebase打造线性历史

1. Rebase变基(适合个人分支)
git checkout feature-branch
git rebase main  # 把当前分支的修改“嫁接”到main最新节点

这就像把衣服重新按颜色排序,历史记录会变成一条直线,强迫症患者福音!

💡 黄金法则

  • 只对尚未推送的分支用rebase
  • 合并后删除特性分支(git branch -d feature-branch
2. 交互式Rebase(修改历史)
git rebase -i HEAD~3  # 修改最近3次提交

会出现神奇的命令选项:

pick 保留提交
reword 修改提交信息
squash 合并到前一个提交

这就像用时光机回去重新整理衣柜!


三、冲突解决:当Git也懵逼时

1. 冲突现场还原

当看到这个恐怖提示时:

CONFLICT (content): Merge conflict in src/app.js

别慌!冲突文件里会有明显标记:

<<<<<<< HEAD
主分支的代码
=======
特性分支的代码
>>>>>>> feature-branch
2. 三招化解冲突
  1. 手动编辑:直接删掉标记,保留正确代码
  2. VS Code神器:用内置的冲突解决工具(点那些小按钮)
  3. 终极核弹(慎用):
    git checkout --ours file.js  # 全用主分支版本
    git checkout --theirs file.js  # 全用特性分支版本
    

🚨 血泪警告:解决完冲突必须:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老猿阿浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值