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

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. 三招化解冲突

手动编辑:直接删掉标记,保留正确代码

VS Code神器:用内置的冲突解决工具(点那些小按钮)

终极核弹(慎用):git checkout --ours file.js # 全用主分支版本

git checkout --theirs file.js # 全用特性分支版本

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

相关推荐