《Git江湖录·分支篇》

《Git江湖录·分支篇》

------一位扫地僧的代码秘籍


第一式:初识分支·江湖分舵

「江湖传言,少林藏经阁有七十二绝技,然众僧若同修易走火入魔,故分设罗汉堂、达摩院、般若堂...此乃分支之术也!」

何谓分支

江湖门派(代码库)若想同时修炼《易筋经》(开发新功能)与《洗髓经》(修复Bug),需开立分舵(分支)。主殿(main分支)供奉稳定武学,分舵弟子可肆意练功,功成再回禀掌门。

核心心法

「不立分支,必生内乱」 :多人共改一本秘籍?轻则招式冲突,重则经脉错乱!(代码覆盖)

「分而治之,合而为一」:分舵各自闭关修炼,大成后融合归宗。(独立开发,最终合并)


第二式:创建分支·开宗立派

「昔年张三丰观蛇鹤相斗,悟出太极剑法,遂脱离少林自创武当------此乃 git branch 之真谛!」

招式精要

bash 复制代码
git branch 武当派  # 原地分出一脉(创建分支)  
git checkout 武当派  # 脚踏七星步,切换门派(切换分支)  
# 或一气呵成:  
git checkout -b 峨眉派  # 拔剑斩红尘,立派即入门(创建+切换)  

实战口诀

分支命名如起诨号 :忌用"新分支1",当取"九阳神功修复篇"、"乾坤大挪移V2"。

远程立派传江湖git push origin 武当派,昭告天下新门派诞生!(推送远程分支)


第三式:切换分支·移形换影

「乾坤大挪移第七层,瞬息间穿越光明顶密道------此乃 git checkout 之玄妙!」

轻功要诀

csharp 复制代码
git checkout 明教  # 经典轻功,踏雪无痕  
git switch 丐帮    # 新晋身法,直指要害(Git 2.23+)  
git checkout -     # 凌波微步,退回原地(返回上一分支)  

生死禁忌

未运功先存丹田 :切换前务必 git commit,否则未保存的招式(代码)灰飞烟灭!

分身不可同时现世:一人不可同时身处两派(工作区只能存在一个分支代码)。


第四式:合并分支·华山论剑

「东邪西毒决战华山,败者武功融入胜者典籍------此乃 mergerebase 之别!」

合并流派
1. 名门正派·merge(融合)

bash 复制代码
git checkout 少林  # 掌门归位  
git merge 武当派   # 邀武当弟子共演太极达摩阵(保留双方历史)  

优势 :江湖恩怨记录清晰,适合名门大派协作(团队开发)。

劫难:若两派共改《罗汉拳》第一式,需手动调和冲突(Conflict Resolution)。

2. 魔教秘法·rebase(变基)

bash 复制代码
git checkout 日月神教  
git rebase 明教     # 将神教武功伪装成明教传承(重写历史)  

优势 :历史记录如独孤九剑,干净利落。

禁忌:他人若练过旧版神功(已拉取分支),强行变基必遭反噬!


第五式:删除分支·金盆洗手

「独孤求败晚年封剑归隐,葬剑于山谷------此乃 git branch -d 之禅意!」

退隐法则

perl 复制代码
git branch -d 星宿派  # 若已并入逍遥派(合并后分支可安全删除)  
git branch -D 葵花派  # 强制散功,哪怕走火入魔(未合并分支强制删除)  
git push origin --delete 铁掌帮  # 远程灭门(删除远程分支)  

血泪教训

斩草务必除根 :远程残留分支如《辟邪剑谱》残页,迟早引得江湖纷争!

封存绝世武功:重要分支打标签(Tag)后再删,如同将《九阴真经》藏于桃花岛。


终章·江湖生存法则

  1. 「主分支如少林藏经阁,非长老不得擅动」 ------ 直接修改 main 分支者,当受三刀六洞之刑!
  2. 「每日开工先 git pull,如晨起吐纳紫霞神功」 ------ 同步最新江湖动态,避免闭门造车。
  3. 「冲突如比武夺帅,胜者当留合并注释为证」 ------ 解决冲突后务必 git commit,立字为据!

「手中无剑,心中有Git,则代码江湖任尔纵横!」

相关推荐
即使再小的船也能远航4 小时前
【Git】实用Git操作指南:从入门到高效协作
git
<但凡.14 小时前
Git 完全手册:从入门到团队协作实战(4)
git·bash
SugarPPig15 小时前
Git 创建一个完全没有提交历史的 master 分支
git
lb29171 天前
git的使用,推送仓库github
git·github
躲在云朵里`2 天前
Git的使用
大数据·git·elasticsearch
悟能不能悟2 天前
在 IntelliJ IDEA 中打开这个用于设置 Git 用户名(Name)和邮箱(Email)的特定弹窗
java·git·intellij-idea
威威猫的栗子3 天前
Git 使用全指南:从配置到免密登录
大数据·git·vscode
Casia_Dominic3 天前
【tmux无法使用鼠标滚轮滚动页面的问题】解决方案
linux·git·github·tmux
Justice link3 天前
Nginx和Apache的区别
git
物联网软硬件开发-轨物科技3 天前
【轨物方案】分布式光伏电站运维升级智能化系列:老电站的数智化重生
运维·人工智能·分布式·git