如何用一小时快速掌握Git,谷粒商城重构指南?

2026-04-29 19:296阅读0评论工具资源
  • 内容介绍
  • 文章标签
  • 相关推荐
指南

内卷... 先说一句——这篇文章不是教科书,也不想装得太严肃。想学 Git?想把谷粒商城从泥潭里拽出来?那就跟着我这只半吊子的“老司机”一起蹦跶吧!别管结构有多乱,情绪够热就行。

1️⃣ 先把 Git 拉进来——别怕, 装个客户端就好

打开终端,敲下:

重构谷粒商城07:Git一小时快速起飞指南
git --version

如果提示版本号,那恭喜你已经迈出第一步。如果没有,那赶紧去官网下载。装完后记得配置用户名和邮箱:

git config --global user.name "你的昵称"
git config --global user.email ""

这俩玩意儿以后每次 commit 都会留下痕迹, 你要是忘了写,就会被同事嘲笑,多损啊!。

2️⃣ 建仓库——本地 + 远程, 两手抓

被割韭菜了。 本地新建一个文件夹 mall-rewrite进去敲:

git init
touch README.md
git add README.md
git commit -m "首次提交:初始化仓库"

交学费了。 远程仓库随便挑个平台,创建空仓库后把它关联上:

git remote add origin git@yourhost:username/mall-rewrite.git
git push -u origin master

你想... 注意:如果你是国内用户,强烈建议直接用 Gitee,否则网速慢到让人怀疑人生。

3️⃣ 分支狂欢——GitFlow 与 Github Flow 随心切换

GitFlow 是老派的“分支大厦”, 核心分支有 master和 develop还有 feature/xxx, release/xxx, hotfix/xxx,太硬核了。。

# 创建功能分支
git checkout -b feature/add-login develop
# 完成后合并回 develop
git checkout develop
git merge --no-ff feature/add-login
git push origin develop

不靠谱。 Github Flow 则更轻盈:在 main 上直接开 PR,合并后 CI/CD 自动部署。适合快速迭代的微服务。

4️⃣ 常用命令速查表

别怕... git add 冲突文件 git commit -m "解决冲突" 或者直接放弃: git merge --abort # 放弃本次合并,大胆重新来。 注:以上命令。

场景需求对应命令 & 小技巧
查看状态 🤔
git status -sb   # 简洁版,一眼看穿未跟踪/已修改文件。
撤销误操作 😱
# 撤回最近一次 commit,但保留改动
git reset --soft HEAD~1
# 丢掉所有改动直接回到上一次提交
git reset --hard HEAD~1   # 小心使用!别哭 😭
# 暂存区的魔法 ✨
git add .                # 把所有改动塞进暂存区
git add -p               # 分块挑选想要的改动,好像挑水果一样。
# 查看历史 📜
git log --oneline --graph --decorate   # 图形化简洁日志,配合颜色更嗨。
# 合并冲突怎么办 🤷‍♀️🤷‍♂️
# 当出现冲突时:
git status                 # 找出冲突文件

5️⃣ 谷粒商城重构实战:从登录到支付的碎片化改过

这是可以说的吗? ⚠️⚠️⚠️ 注意啦!下面的步骤故意写得像跑胡子,一不小心就会卡住。别怪我没提醒你!⚠️⚠️⚠️

  1. # 初始化模块化结构: 在项目根目录新建 /modules/auth、 /modules/product、/modules/payment 三个子模块,各自做独立 Git 子仓库:
    cd modules/auth && git init && git commit -m "auth 初始提交"
    cd ../product && git init && git commit -m "product 初始提交"
    cd ../payment && git init && git commit -m "payment 初始提交"
    这样以后每个团队可以单独负责一个业务域,互不干扰。
  2. # 主仓库引用子模块: 回到根目录,把子模块加进去:
    git submodule add ./modules/auth auth
    git submodule add ./modules/product product
    git submodule add ./modules/payment payment
    git commit -am "加入子模块"
    *小技巧*: 子模块更新记得跑 git submodule update --remote --merge.
  3. # Feature 分支飞起: 假设我们要给登录加验证码:
    git checkout -b feature/captcha auth   # 在 auth 子模块里建分支
    # 开发代码……
    git add .
    git commit -m "实现验证码功能"
    # 推送到远程子仓库
    cd ../../..   # 返回根目录再推送主仓库指针
    git push origin feature/captcha   # 主仓库也同步指针变化 
    ​​​​​​​​​​​
    ​ ​ 
    ​  
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​
    ​
    ​
    ​
    ​
    ​
    ​
            // 有点乱对吧?但就是这么玩。
    
  4. # 合并回 develop 并触发 CI/CD: 在完成验证码后 把代码合并回 develop: g it checkout d ev elop g it m erge — no‑ff f eature /c apt cha g it p ush origi n d ev elop
  5. # Release 打标签 🎉 🎉 🎉 : 当整个商城功能都后在 master 上打 Tag: g i t ch ec kout ma ster g i t me rge – ff dev el op g i t ta g v1.0.0 g i tp us h ori gin ma ster –‑tags v1 .0 .0 此时 CI 工具会自动将镜像推到 Docker 仓库,然后滚动升级生产环境。
  6. # 热修复 hotfix : 若线上出现致命 bug, 可直接在 master 上创建 hotfix 分支: g i t ch ec kout –b hot fix /pay ment‑bug ma ster …修复代码… g i t c ommit –a “快补丁” g i t c he ckout ma ster g i t me rge ho tf ix /pay ment‑bug g i t m erge d ev elop g i t p us h or ig in ma ster d ev elop – ‑ tags v1 .0 .1
  7. # 清理垃圾分支 : 定期删掉已经合并完毕的 feature 分支,以免 repo 垃圾堆积。 g it branch –d f ea ture /c apt cha r g it br anc h –d re le ase /v1 .0 .x … etc.
  8. CPU你。 呃……刚才那段代码是不是有点儿像外星文字?其实我自己都看懵了不过没关系,只要能跑通就行。别太纠结排版,用心体会每一步背后的逻辑才是王道。

    —— 随机对比表格

    7️⃣ 收官感言——写完这篇,你可能已经失控了😂😂😂︎︎︎︎︎︎︎︎︎︎︎︎︎⠀⠀⠀⠀⠀⠀⠀⠀⠀⟐⟐⟐⟐⟐⟐⟐⟐⟐⟐ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀⠀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀 🧨🚀🌈💥💣💥🌈🚀💨✈️🚁🏎️🏍️🏁🎯🔔🔊📢🎤📣🥳🤪🤯🤬😤😱😅🤣🥰❤️💔❗❓☝️🙌🙇‍♂️🙇‍♀️👀👁👅👄👋✋👏✍🏻✍🏼✍🏾✍🏿

    - 如果你现在还在犹豫,那就把键盘砸碎,然后重新打开终端,再跑一遍上面的命令; - 别忘了经常 `pull`,否则团队里的人会笑话你是「离线王」; - 再说说如果你的项目真的要上线,请务必先喝杯咖啡再点「部署」按钮,否则……你懂的。

    好了这篇「烂」文算是交差了。希望它能在你头脑里留下一点混沌的印象,让你在实际操作时不至于完全手足无措。如果哪天真的把谷粒商城成功重构出来请记得回来给我点个赞——虽然我根本不会看到, 踩个点。 但精神上已经满足啦!祝你 Git 一路顺风,代码永远不崩溃! 🎉🎉🎉.

    工具名称 🛠️ 适用场景 🚀 优点 🌟 缺点 💣
    GitKraken 新人可视化学习 界面炫酷、 拖拽式操作、集成 Jira 。 免费版功能受限、占内存大。
    SourceTree 企业内部 Windows 环境常用 支持 Submodule、直观日志。 更新慢、有时卡死。
    VS Code + GitLens 插件 编辑器一体化工作流 轻量级、 即时 diff、高亮显示作者信息。 需要自行配置插件,有兼容性问题。

指南

内卷... 先说一句——这篇文章不是教科书,也不想装得太严肃。想学 Git?想把谷粒商城从泥潭里拽出来?那就跟着我这只半吊子的“老司机”一起蹦跶吧!别管结构有多乱,情绪够热就行。

1️⃣ 先把 Git 拉进来——别怕, 装个客户端就好

打开终端,敲下:

重构谷粒商城07:Git一小时快速起飞指南
git --version

如果提示版本号,那恭喜你已经迈出第一步。如果没有,那赶紧去官网下载。装完后记得配置用户名和邮箱:

git config --global user.name "你的昵称"
git config --global user.email ""

这俩玩意儿以后每次 commit 都会留下痕迹, 你要是忘了写,就会被同事嘲笑,多损啊!。

2️⃣ 建仓库——本地 + 远程, 两手抓

被割韭菜了。 本地新建一个文件夹 mall-rewrite进去敲:

git init
touch README.md
git add README.md
git commit -m "首次提交:初始化仓库"

交学费了。 远程仓库随便挑个平台,创建空仓库后把它关联上:

git remote add origin git@yourhost:username/mall-rewrite.git
git push -u origin master

你想... 注意:如果你是国内用户,强烈建议直接用 Gitee,否则网速慢到让人怀疑人生。

3️⃣ 分支狂欢——GitFlow 与 Github Flow 随心切换

GitFlow 是老派的“分支大厦”, 核心分支有 master和 develop还有 feature/xxx, release/xxx, hotfix/xxx,太硬核了。。

# 创建功能分支
git checkout -b feature/add-login develop
# 完成后合并回 develop
git checkout develop
git merge --no-ff feature/add-login
git push origin develop

不靠谱。 Github Flow 则更轻盈:在 main 上直接开 PR,合并后 CI/CD 自动部署。适合快速迭代的微服务。

4️⃣ 常用命令速查表

别怕... git add 冲突文件 git commit -m "解决冲突" 或者直接放弃: git merge --abort # 放弃本次合并,大胆重新来。 注:以上命令。

场景需求对应命令 & 小技巧
查看状态 🤔
git status -sb   # 简洁版,一眼看穿未跟踪/已修改文件。
撤销误操作 😱
# 撤回最近一次 commit,但保留改动
git reset --soft HEAD~1
# 丢掉所有改动直接回到上一次提交
git reset --hard HEAD~1   # 小心使用!别哭 😭
# 暂存区的魔法 ✨
git add .                # 把所有改动塞进暂存区
git add -p               # 分块挑选想要的改动,好像挑水果一样。
# 查看历史 📜
git log --oneline --graph --decorate   # 图形化简洁日志,配合颜色更嗨。
# 合并冲突怎么办 🤷‍♀️🤷‍♂️
# 当出现冲突时:
git status                 # 找出冲突文件

5️⃣ 谷粒商城重构实战:从登录到支付的碎片化改过

这是可以说的吗? ⚠️⚠️⚠️ 注意啦!下面的步骤故意写得像跑胡子,一不小心就会卡住。别怪我没提醒你!⚠️⚠️⚠️

  1. # 初始化模块化结构: 在项目根目录新建 /modules/auth、 /modules/product、/modules/payment 三个子模块,各自做独立 Git 子仓库:
    cd modules/auth && git init && git commit -m "auth 初始提交"
    cd ../product && git init && git commit -m "product 初始提交"
    cd ../payment && git init && git commit -m "payment 初始提交"
    这样以后每个团队可以单独负责一个业务域,互不干扰。
  2. # 主仓库引用子模块: 回到根目录,把子模块加进去:
    git submodule add ./modules/auth auth
    git submodule add ./modules/product product
    git submodule add ./modules/payment payment
    git commit -am "加入子模块"
    *小技巧*: 子模块更新记得跑 git submodule update --remote --merge.
  3. # Feature 分支飞起: 假设我们要给登录加验证码:
    git checkout -b feature/captcha auth   # 在 auth 子模块里建分支
    # 开发代码……
    git add .
    git commit -m "实现验证码功能"
    # 推送到远程子仓库
    cd ../../..   # 返回根目录再推送主仓库指针
    git push origin feature/captcha   # 主仓库也同步指针变化 
    ​​​​​​​​​​​
    ​ ​ 
    ​  
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​​ 
    ​
    ​
    ​
    ​
    ​
    ​
    ​
            // 有点乱对吧?但就是这么玩。
    
  4. # 合并回 develop 并触发 CI/CD: 在完成验证码后 把代码合并回 develop: g it checkout d ev elop g it m erge — no‑ff f eature /c apt cha g it p ush origi n d ev elop
  5. # Release 打标签 🎉 🎉 🎉 : 当整个商城功能都后在 master 上打 Tag: g i t ch ec kout ma ster g i t me rge – ff dev el op g i t ta g v1.0.0 g i tp us h ori gin ma ster –‑tags v1 .0 .0 此时 CI 工具会自动将镜像推到 Docker 仓库,然后滚动升级生产环境。
  6. # 热修复 hotfix : 若线上出现致命 bug, 可直接在 master 上创建 hotfix 分支: g i t ch ec kout –b hot fix /pay ment‑bug ma ster …修复代码… g i t c ommit –a “快补丁” g i t c he ckout ma ster g i t me rge ho tf ix /pay ment‑bug g i t m erge d ev elop g i t p us h or ig in ma ster d ev elop – ‑ tags v1 .0 .1
  7. # 清理垃圾分支 : 定期删掉已经合并完毕的 feature 分支,以免 repo 垃圾堆积。 g it branch –d f ea ture /c apt cha r g it br anc h –d re le ase /v1 .0 .x … etc.
  8. CPU你。 呃……刚才那段代码是不是有点儿像外星文字?其实我自己都看懵了不过没关系,只要能跑通就行。别太纠结排版,用心体会每一步背后的逻辑才是王道。

    —— 随机对比表格

    7️⃣ 收官感言——写完这篇,你可能已经失控了😂😂😂︎︎︎︎︎︎︎︎︎︎︎︎︎⠀⠀⠀⠀⠀⠀⠀⠀⠀⟐⟐⟐⟐⟐⟐⟐⟐⟐⟐ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀⠀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀🌀 🧨🚀🌈💥💣💥🌈🚀💨✈️🚁🏎️🏍️🏁🎯🔔🔊📢🎤📣🥳🤪🤯🤬😤😱😅🤣🥰❤️💔❗❓☝️🙌🙇‍♂️🙇‍♀️👀👁👅👄👋✋👏✍🏻✍🏼✍🏾✍🏿

    - 如果你现在还在犹豫,那就把键盘砸碎,然后重新打开终端,再跑一遍上面的命令; - 别忘了经常 `pull`,否则团队里的人会笑话你是「离线王」; - 再说说如果你的项目真的要上线,请务必先喝杯咖啡再点「部署」按钮,否则……你懂的。

    好了这篇「烂」文算是交差了。希望它能在你头脑里留下一点混沌的印象,让你在实际操作时不至于完全手足无措。如果哪天真的把谷粒商城成功重构出来请记得回来给我点个赞——虽然我根本不会看到, 踩个点。 但精神上已经满足啦!祝你 Git 一路顺风,代码永远不崩溃! 🎉🎉🎉.

    工具名称 🛠️ 适用场景 🚀 优点 🌟 缺点 💣
    GitKraken 新人可视化学习 界面炫酷、 拖拽式操作、集成 Jira 。 免费版功能受限、占内存大。
    SourceTree 企业内部 Windows 环境常用 支持 Submodule、直观日志。 更新慢、有时卡死。
    VS Code + GitLens 插件 编辑器一体化工作流 轻量级、 即时 diff、高亮显示作者信息。 需要自行配置插件,有兼容性问题。