// Linux · 2025-04-27

Git常用命令简明教程

一站式 Git 修炼手册
——从 0 到 1,再到 100 的简洁实战指南

这份手册既是初学者的「电梯教程」,也是资深开发者的「速查表」。
按场景编排,每条命令都配有一句话「为什么」、一行「怎么做」和一个「避坑提示」,拿来即用,少走弯路。


1. 环境搭建:5 分钟完成 Linux 全链路

步骤 目的 命令 & 操作 避坑提示
① 注册 GitHub 获得云端仓库 访问 github.com 用户名以后很难改,想清楚再注册
② 生成 SSH 密钥 免输密码 ssh-keygen -t ed25519 -C "you@example.com" 4096-bit RSA 已过时,Ed25519 更快更安全
③ 上传公钥 让 GitHub 认识你的电脑 cat ~/.ssh/id_ed25519.pub → GitHub Settings > SSH keys 复制完整,不要多一个换行符
④ 验证 确保链路通 ssh -T git@github.com 看到 Hi username! 才算成功

2. 初始化与全局配置:一次设定,终身受益

git config --global init.defaultBranch main          # 新建仓库默认分支叫 main
git config --global user.name  "Your Name"
git config --global user.email "you@example.com"
git config --global core.editor "code --wait"        # VS Code 当默认编辑器
git config --global pull.rebase false                # git pull 默认合并,不 Rebase

避坑提示:

  • 定期检查 git config --global --list 确保配置正确。
  • 邮箱隐私保护:用 GitHub 提供的 username@users.noreply.github.com。

3. 本地工作流:文件从「改」到「存」的 4 步闭环

场景 命令 一句话解释 避坑提示
纳入版本控制 git add <file> / git add -p 精确选择改动,灵活控制提交内容 避免 git add . 误提交无关文件
拍照存档 git commit -m "feat: add user login API" 用 Conventional Commits 规范提交信息 提交信息清晰,利于自动化生成 CHANGELOG
一键撤销 git restore <file> 快速撤销未提交的单文件修改(Git ≥ 2.23) 先用 git status 检查状态,避免误操作
时间机器 git reflog + git reset --hard HEAD@{n} 查看历史操作,恢复到任意提交点 90 天内操作可恢复,定期备份关键分支

额外技巧:

  • 用 git commit --amend 修改最近一次提交信息或内容。
  • 用 git diff 预览改动,确保提交准确。

4. 分支策略:像 GitHub 官方一样玩转分支

Git Branch Workflow

高频操作 命令 一句话解释 避坑提示
新建功能分支 git switch -c feature/payment 创建并切换到新分支,隔离开发 永远不在 main 分支直接开发
同步远端分支 git switch -t origin/feature/payment 跟踪远程分支,自动关联 确保 git fetch 后操作,避免分支丢失
优雅合并 git merge --squash feature/payment 压缩多次提交,保持历史干净 合并前确认目标分支,避免冲突
强制同步 git fetch && git reset --hard origin/main 放弃本地改动,与远程保持一致 慎用,建议先备份本地改动
删除分支 git branch -d feature/payment 清理无用分支,保持仓库整洁 使用 -D 强制删除未合并分支

额外技巧:

  • 用 git log --oneline --graph --all 查看分支结构。
  • 定期清理远程分支:git push origin --delete feature/payment。

5. 远程协作:push / pull / fork 全场景速查

任务 命令 一句话解释 避坑提示
首次推送 git push -u origin main 推送并设置远程跟踪,简化后续推送 确保远程仓库存在
免冲突更新 git pull --rebase 将本地提交置于远程最新提交之上 先检查 git status,避免覆盖改动
PR 前整理 git rebase -i HEAD~3 合并琐碎提交,优化历史记录 提前备份,防止 Rebase 出错
Fork 同步 gh repo sync owner/repo --branch main 使用 GitHub CLI 同步上游仓库 配置 upstream 远程:git remote add upstream <url>
查看远程 git remote -v 显示所有远程仓库地址 定期检查,避免推送错误目标

额外技巧:

  • 用 git push --force-with-lease 代替 --force,防止覆盖他人提交。
  • 配置多个远程仓库:git remote add <name> <url>。

6. 紧急救援:stash、reflog、bisect 三板斧

场景 指令 一句话解释 避坑提示
临时切分支 git stash push -m "WIP: payment module" 保存未提交改动,切换分支 用 git stash list 查看保存记录
恢复工作 git stash pop 恢复最近的 stash 并删除记录 冲突时用 git stash apply 保留记录
找丢失代码 git reflog 查看 90 天内 HEAD 移动记录 用 git show <hash> 确认提交内容
快速定位 BUG git bisect start → git bisect good/bad 二分查找定位问题提交 标记明确好坏提交,加快定位

额外技巧:

  • 用 git stash push --include-untracked 保存未跟踪文件。
  • 自动 bisect:git bisect run <script> 执行测试脚本。

7. GitHub 高阶技巧:Actions、Issues、模板

  1. Issue 模板
    在 .github/ISSUE_TEMPLATE/bug_report.yml 创建 YAML 模板,规范问题反馈。
    示例:

    name: Bug Report
    description: File a bug report
    body:
      - type: textarea
        attributes:
          label: Description
          description: A clear and concise description of the bug.
  2. Actions 自动 CI
    在 .github/workflows/ci.yml 配置自动化测试和部署。
    示例:

    name: CI
    on: [push, pull_request]
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - name: Run Tests
            run: npm test
  3. CODEOWNERS
    在 .github/CODEOWNERS 指定代码负责人:

    /src/backend/ @backend-team
    *.md @docs-team

避坑提示:

  • 确保 Actions 使用最新版本的 actions(如 actions/checkout@v4)。
  • 定期更新模板,避免信息过时。

8. 一张思维导图带走全部重点

(右键新标签页打开,可放大查看)

Git MindMap


9. 最后的 3 条军规

  1. 任何 reset –hard / rebase 前,先 git branch backup/$(date +%F)。
  2. 提交信息用英文、50 字以内,前缀统一:feat / fix / docs / style / refactor / test / chore。
  3. 不要把敏感信息(密码、Token) 塞进仓库;一旦推送,立即换新密钥。

想深挖?官方文档永远是最权威的答案:
• Git Book
• GitHub Docs

现在,打开终端,敲下你的第一条 git commit,开启高效协作之旅吧!

原文 https://blog.csdn.net/2301_79518550/article/details/147544971