Appearance
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 上推荐的简单工作流:
- 从
main创建新分支(功能、修复等) - 在分支上开发与提交
- Push 到 GitHub 并发起 Pull Request
- Code Review 后合并 PR
- 自动部署(可接 CI/CD)
🧭 18. GitLab Flow 简介
GitLab Flow 融合了 Git 工作流与环境部署,适合多环境场景:
- 核心分支:
main(生产)develop(开发)feature/*、hotfix/*、release/*
工作流:
- 开发者从
develop创建feature/xxx开发功能 - 合并回
develop develop合并到main表示发布- 可结合 GitLab CI 实现多环境部署(dev/staging/prod)
📚 附录
bash
git help <命令>
man git-<命令>