【Git 新手通关指南】解决 master 与开发分支代码不一致,手把手教你同步分支
作为 Git 新手,刚接触分支管理时大概率会遇到这个问题:本地master主分支和自己创建的z1开发分支代码不一样了,该怎么同步?为什么不能直接在master分支改代码?这篇文章用最通俗的话+一步步实操,帮你彻底搞懂!
一、先搞懂:master 和开发分支的“分工”(新手先记牢)
在团队协作或个人开发中,Git 分支有明确的“职责划分”,这是解决分支同步问题的基础:
master(主分支):可以理解为项目的“正式版”,是稳定、可上线的代码版本,绝对不能随便改;z1(开发分支):你自己的“工作版”,所有开发、修改、调试都在这个分支做,相当于“草稿纸”,改乱了也不影响主分支。
所谓“同步代码”,本质就是把master分支的最新内容,整合到你的z1开发分支里,让两个分支的代码保持一致,同时又不破坏master的稳定性。
二、核心操作:同步 master 与 z1 分支的完整步骤
假设你已经克隆了仓库(git clone https://gitee.com/yigen1981/test.git),且创建了z1分支(git branch z1),现在要解决两个分支代码不一致的问题,按以下步骤来,一步都不能错!
前置准备
打开本地仓库对应的终端(Git Bash/CMD/终端都可以),确保你在仓库根目录下。
步骤 1:拉取远程最新代码(避免合并出错)
先把云端(Gitee/GitHub)的所有分支最新代码拉到本地,防止合并时因为本地代码过时出问题:
|
|
✅ 新手解读:这个命令相当于“刷新”本地代码,让你的master和z1都先同步云端的最新版本。
步骤 2:切换到 z1 开发分支(核心!必须先切)
所有操作都要在z1分支做,先确认并切换到z1:
|
|
✅ 新手解读:如果直接在master分支操作,相当于直接改“正式版”,风险极高,这是新手最容易踩的坑!
步骤 3:合并 master 代码到 z1(同步的核心)
执行合并命令,把master的最新代码整合到z1:
|
|
✅ 新手解读:这个命令的意思是“把 master 的最新内容,合并到我当前所在的 z1 分支”,合并后 z1 就包含了 master 的所有代码,实现同步。
❌ 常见问题:如果合并时提示“冲突(conflict)”,比如“Auto-merging xxx.txt”“CONFLICT (content)”,别慌!这是因为同一个文件在master和z1里改了不同内容,Git 不知道该保留哪个,需要手动解决:
- 打开提示冲突的文件,会看到类似这样的标记:
1 2 3 4 5<<<<<<< HEAD (这是z1分支的内容) 我在z1分支改的内容 ======= (分隔线,两边是不同分支的内容) 别人在master分支改的内容 >>>>>>> master (这是master分支的内容) - 删除这些标记(
<<<<<<</=======/>>>>>>>),保留你需要的内容(比如保留最新的、正确的内容); - 保存文件,回到终端继续下一步。
步骤 4:提交合并后的代码并推到云端
合并完成(冲突解决后),要把同步后的代码保存并上传到云端的z1分支:
|
|
✅ 新手解读:这三步相当于“保存草稿 → 给草稿写备注 → 把草稿上传到云端”,确保你的修改不会丢。
三、关键原则:为什么绝对不能在 master 分支提交代码?
新手最容易犯的错就是直接在master分支改代码、提交,这是严格禁止的,原因很简单:
- 保护主分支稳定性:
master是正式版代码,直接修改可能导致项目运行出错,甚至影响整个团队; - 符合分支管理规范:所有开发工作都在开发分支(如 z1)完成,确认没问题后,再由负责人统一合并到
master; - 避免代码混乱:如果多人都直接改
master,很容易出现代码冲突无法解决,最后整个项目代码乱套。
四、完整流程复盘(新手直接抄)
把所有步骤串起来,形成可直接复制的操作流:
|
|
五、新手总结
- 分支同步的核心逻辑:切换到开发分支(z1)→ 合并主分支(master)→ 提交推送,始终围绕开发分支操作;
- 绝对禁忌:不在
master分支做任何开发、提交操作,保护主分支的稳定性; - 遇到冲突别慌:冲突是 Git 的正常提示,手动删除冲突标记、保留正确内容即可,合并后一定要推送代码到云端。