Git 分支入门:从主干开发到安全合并
刚接触 Git 的人常把所有修改直接提交到主分支,改到一半想换个方向,或者线上出了问题要紧急修,代码就搅在一起。分支就是给每一次改动开一条独立的工作线:主分支保持可发布状态,新功能、修 bug 各走各的分支,互不干扰,改乱了也只影响当前分支,删掉重来即可。
分支的三个基本动作
创建并切换分支最常用的一条命令就够了:git switch -c feature/login。这条命令等于新建一个名为 feature/login 的分支并马上切换过去。分支名建议带前缀,一眼能看出用途:feature/ 是新功能,fix/ 是修 bug,docs/ 是改文档。
在分支上正常提交,git add、git commit 各做各的。想看当前在哪个分支、有哪些分支,用 git branch;想回到主分支,用 git switch main(有的仓库主分支叫 master,以仓库实际名称为准)。
合并之前先做两件事
第一,拉取并更新主分支:切回主分支执行 git pull,再切回功能分支执行 git merge main,把主分支的最新进展先合进来,在自己的分支上解决冲突。这样做的好处是:冲突由改动的人自己解决,而不是留给合并时集中爆发。
第二,提交前自查:用 git status 确认没有误加的临时文件、密钥或构建产物,用 git diff 快速扫一遍改动。一次提交只做一件事,提交信息写清楚“改了什么、为什么改”,不要写“修改代码”“更新”这种看不出信息的标题。
解决冲突不用怕
合并时如果同一文件的同一处被两边改过,Git 会停下来并在文件里标出冲突区域,<<<<<<< 和 >>>>>>> 之间就是两边的版本。处理方法是:打开文件人工选出正确结果,删掉标记符号,然后 git add 再 git commit 完成合并。冲突不是事故,是 Git 在提醒你:这里需要人来做决定。解决完务必跑一次测试或启动验证,别只看合并成功就提交。
合并与删除分支
确认功能分支没问题后,切回主分支执行 git merge feature/login,再把已经合并的功能分支删掉:git branch -d feature/login。-d 只删已合并的分支,是一种安全保护;如果确定要丢弃未合并的分支,才用大写的 -D,但要先确认里面的改动真的不要了。推到远程后,远程分支也可以顺手删掉,保持仓库干净。
新手最容易踩的三个坑
一是在错误的分支上改了半天才发现,养成每次动手前先看 git branch 的习惯。二是把所有改动塞进一次巨大提交,回滚和 review 都困难,宁可多分几次提交。三是长期不合并,分支和主分支越差越远,冲突越来越多;小步快跑、频繁同步主分支,反而最省事。
分支不是为了炫技,而是让改动可隔离、可回滚、可 review。先掌握创建、切换、合并、删除这四个动作,再慢慢学变基和 cherry-pick,就足够应付日常开发了。
- 点赞
- 收藏
- 关注作者
评论(0)