🛠️ 一、新手村?不,是“肌肉记忆”区

别再把时间浪费在基础配置上了,把这些命令刻进 DNA 里。

1. 初始化与身份确认

# 全局配置(入职第一件事,避免提交记录显示未知用户)
git config --global user.name "YourName"
git config --global user.email "your.email@company.com"

# 初始化 & 克隆
git init                 # 新建仓库
git clone                # 克隆项目
git clone -b dev         # 【常用】指定分支克隆,避免默认拉取主分支

2. 日常提交“三板斧”的升级版

# 查看状态(-s 表示简短模式,更清爽)
git status -s

# 添加文件
git add .                     # 添加所有变更
git add -p                    # 【高阶】交互式添加,只提交部分代码块

# 提交
git commit -m "feat: 新增用户登录功能"  # 遵循 Commit Convention 规范
git commit --amend            # 修改上一次提交(忘加文件/改错消息时神器)

💡 2026 最佳实践
提交信息请严格遵循 type: subject 格式(如 feat:, fix:, docs:)。

  • feat: 新功能
  • fix: 修补 bug
  • docs: 文档修改
  • style: 格式修改(不影响代码运行)
  • refactor: 重构(即不是新增功能,也不是修改 bug 的代码变动)

🌿 二、分支管理:并行开发的艺术

拒绝 master 走天下,特性分支(Feature Branch)才是王道。

场景 推荐命令 (2026) 传统命令 (兼容) 说明
创建并切换 git switch -c feature/login git checkout -b ... 推荐,语义更清晰,不易混淆
切换分支 git switch main git checkout main 纯切换操作
查看分支 git branch -a - 查看本地+远程所有分支
合并分支 git merge feature/login - 将特性分支合并到当前分支
变基合并 git rebase main - 保持提交历史整洁的神器(慎用公共分支)
删除分支 git branch -d feature/login - 删除本地已合并分支
强制删除 git branch -D feature/login - 删除未合并分支(⚠️小心数据丢失)

🔥 实战场景:解决合并冲突

当出现 CONFLICT (content): Merge conflict in ... 时,请按以下步骤操作:

  1. 定位文件:打开提示冲突的文件。
  2. 手动修复:找到以下标记,保留需要的代码,删除标记行。
    <<<<<<< HEAD
    // 当前分支的代码
    =======
    // 要合并进来的分支代码
    >>>>>>> feature/login
    
  3. 重新提交
    git add 
    git commit -m "fix: 解决登录模块合并冲突"
    

🚑 三、紧急救火:撤销与回滚

手滑了?别慌,Git 给你准备了后悔药。

1. 撤销工作区的修改(还没 add

git restore           # 【新版推荐】丢弃工作区修改
# 或
git checkout --       # 旧版写法

2. 撤销暂存区的修改(已经 add,还没 commit

git restore --staged  # 【新版推荐】从暂存区移除,保留工作区修改
# 或
git reset HEAD        # 旧版写法

3. 撤销最近的提交(已经 commit,还没 push

# 方案 A:保留修改,只是撤销提交动作(方便重新 commit)
git reset --soft HEAD~1

# 方案 B:彻底丢弃最近一次提交及其修改(⚠️危险!数据不可恢复)
git reset --hard HEAD~1

4. 已经 push 了怎么办?

千万不要直接 reset --hard 强推! 除非你确定只有你在用这个分支,否则会覆盖同事的代码。

  • 正确做法:使用 git revert 生成一个新的“反向提交”来抵消错误。
    git revert 
    # 系统会弹出一个编辑器让你确认提交信息,保存退出即可
    git push origin 
    

🕵️‍♂️ 四、高阶技巧:像侦探一样调试

1. 谁动了我的代码? (git blame)

git blame             # 查看每一行代码的最后修改人和时间
git blame -L 10,20    # 只查看第 10 到 20 行的修改记录

2. 临时保存现场 (git stash)

当你正在开发一个功能,突然需要切换分支修紧急 Bug,但当前代码还没写完不想提交:

git stash                   # 暂存当前修改
git stash list              # 查看暂存列表
git stash pop               # 恢复最近一次暂存并删除记录
git stash apply stash@{1}   # 恢复指定暂存(不删除记录)

3. 查找引入 Bug 的那次提交 (git bisect)

二分法查找问题源头,效率极高:

git bisect start            # 开始二分查找
git bisect bad              # 标记当前版本有 Bug
git bisect good  # 标记某个历史版本正常
# Git 会自动切换中间版本,你只需重复执行 good/bad,直到定位
git bisect reset            # 结束查找,回到原分支

📊 五、一张图总结:Git 工作流核心

理解数据流向,是掌握 Git 的关键:

git add

git commit

git push

git pull/fetch

git restore

git restore --staged

git reset

📂 工作区Working Dir

📦 暂存区Staging Area

💾 本地仓库Local Repo

☁️ 远程仓库Remote Repo


💡 结语

Git 不仅仅是命令的堆砌,更是一种协作思维

  1. 小步提交:让每次 Commit 原子化,便于回滚和审查。
  2. 频繁同步:多 pullrebase,减少大合并的痛苦。
  3. 规范命名:让 git log 成为项目的故事书,而不是天书。

🗣️ 互动话题
你遇到过最棘手的 Git 事故是什么?是误删了分支,还是解决了三天三夜的冲突?
欢迎在评论区分享你的“血泪史”,让我们一起避坑!👇

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐