Skip to content

11. 📘 Git 命令手册(完整版) ​

面向开发者的 Git 命令大全,涵盖项目生命周期中的各类操作,配有示例与说明。

🧱 1. 配置 Git ​

bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global core.editor "code --wait"
git config --global init.defaultBranch main
  • 设置用户信息、默认编辑器、默认主分支名。
bash
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.cm "commit -m"
  • 设置常用命令别名。
bash
git config --list
  • 查看当前 Git 配置。

📂 2. 仓库初始化与克隆 ​

bash
git init
  • 初始化当前目录为 Git 仓库。
bash
git clone <URL> [目录名]
  • 克隆远程仓库,支持 HTTPS / SSH。

📝 3. 文件状态管理 ​

bash
git status
  • 查看工作区和暂存区状态。
bash
git add <文件>
git add .
git add -A
  • 添加文件到暂存区。
bash
git rm <文件>
git rm --cached <文件>
  • 删除文件并记录(--cached 保留本地文件)。
bash
git mv <旧名> <新名>
  • 重命名文件(等价于 rm + add)。

✅ 4. 提交与历史 ​

bash
git commit -m "说明"
git commit -am "说明"
  • 提交改动到版本库(-a 会自动 add 修改的文件)。
bash
git log
git log --oneline --graph --decorate --all
  • 查看提交历史(图形化)。
bash
git show <commit-id>
  • 查看某次提交详情。
bash
git diff
git diff --cached
git diff HEAD
  • 查看改动差异(工作区、暂存区、提交差异)。

🌱 5. 分支管理 ​

bash
git branch
git branch <分支名>
git branch -d <分支名>
git branch -D <分支名>
  • 分支查看、创建、删除(-D 强制删除)。
bash
git checkout <分支>
git checkout -b <新分支>
  • 切换或新建分支。
bash
git merge <分支>
  • 合并目标分支到当前分支。
bash
git rebase <分支>
  • 将当前分支变基到目标分支上(更线性)。

🔁 6. 远程仓库操作 ​

bash
git remote add origin <URL>
git remote -v
git remote remove origin
  • 添加/查看/删除远程仓库。
bash
git push -u origin <分支>
git push
git push origin --delete <分支>
  • 推送本地分支到远程仓库。
bash
git pull
git pull --rebase
  • 拉取远程改动并合并(或变基)。
bash
git fetch
  • 拉取远程更新,但不合并。

📌 7. 标签(Tag) ​

bash
git tag
git tag <标签名>
git tag -a <标签名> -m "说明"
  • 查看/创建标签(可加说明)。
bash
git show <标签>
  • 查看标签所指向的提交。
bash
git push origin <标签>
git push origin --tags
git tag -d <标签>
git push origin :refs/tags/<标签>
  • 推送/删除标签。

🧳 8. Stash 暂存 ​

bash
git stash
git stash save "说明"
git stash list
git stash apply [stash@{n}]
git stash drop [stash@{n}]
git stash pop
  • 暂存当前工作区改动,稍后恢复。

🕹️ 9. 变基(Rebase) ​

bash
git rebase <分支>
git rebase -i HEAD~3
  • 将当前分支的提交变基到目标上,或交互式压缩提交。
bash
git rebase --continue
git rebase --abort
  • 处理冲突后的变基流程控制。

🍒 10. Cherry-pick(拣选提交) ​

bash
git cherry-pick <commit-id>
  • 将某个提交应用到当前分支上。

🧭 11. Reflog 操作记录 ​

bash
git reflog
  • 查看所有 HEAD 操作历史(恢复误删的好帮手)。
bash
git reset --hard <reflog-id>
  • 恢复到某次 HEAD 状态。

🔐 12. 忽略文件 ​

.gitignore 文件示例:

node_modules/
*.log
.DS_Store

📦 13. 子模块(Submodule) ​

bash
git submodule add <repo> <目录>
git submodule init
git submodule update
  • 添加、初始化、更新子模块。
bash
git submodule update --remote
  • 拉取子模块最新提交。

🧩 14. 钩子(Hooks) ​

.git/hooks/ 目录下的脚本可自动执行操作:

  • pre-commit:提交前检查格式
  • post-commit:提交后触发动作
  • pre-push:推送前验证等

🧪 15. 常见技巧与补充 ​

bash
git checkout HEAD <被删文件路径>
git reset --hard <commit-id>
git diff <分支1>..<分支2>

🚀 16. CI/CD 集成简介 ​

CI/CD 常与 Git 仓库集成实现自动构建、测试和部署。

  • 常见工具:
    • GitHub Actions(GitHub)
    • GitLab CI/CD(GitLab)
    • Jenkins、CircleCI、Travis CI 等

示例:GitHub Actions Workflow 文件 ​

.github/workflows/ci.yml

yaml
name: CI

on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npm test

🧭 17. GitHub Flow 简介 ​

GitHub Flow 是 GitHub 上推荐的简单工作流:

  1. 从 main 创建新分支(功能、修复等)
  2. 在分支上开发与提交
  3. Push 到 GitHub 并发起 Pull Request
  4. Code Review 后合并 PR
  5. 自动部署(可接 CI/CD)

🧭 18. GitLab Flow 简介 ​

GitLab Flow 融合了 Git 工作流与环境部署,适合多环境场景:

  • 核心分支:
    • main(生产)
    • develop(开发)
    • feature/*、hotfix/*、release/*

工作流:

  1. 开发者从 develop 创建 feature/xxx 开发功能
  2. 合并回 develop
  3. develop 合并到 main 表示发布
  4. 可结合 GitLab CI 实现多环境部署(dev/staging/prod)

📚 附录 ​

bash
git help <命令>
man git-<命令>

基于 Vitepress.