Git 核心操作速查¶
用途:供 AI 助手快速查阅并执行 Git 操作(管理实验配置、Vagrantfile、YAML 等)。 版本基线:Ubuntu 26.04 LTS / bash 5.3 / Git 2.56(核对日期 2026-11-11,来源:官网) 更新日期:2026-11-11
1. 初始配置(新机器一次)¶
git config --global user.name "EricLiu"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --global core.autocrlf input # Windows 建议,避免换行符混乱
git config --global core.editor "vim"
git config -l # 查看全部配置
2. 基础工作流(最高频)¶
git init # 初始化仓库
git clone <url> # 克隆
git status # 当前状态(每次操作前先看)
git add <文件> / git add -A # 暂存
git commit -m "说明" # 提交(说明写"做了什么、为什么")
git log --oneline --graph -10 # 简洁历史
git diff / git diff --staged # 未暂存 / 已暂存的改动
git show <commit> # 某次提交详情
git restore <文件> # 丢弃工作区改动(危险,未提交的会丢)
git restore --staged <文件> # 取消暂存(不丢内容)
3. 分支¶
git branch # 本地分支列表
git branch <新分支> # 创建
git switch <分支> / git switch -c <新分支> # 切换 / 创建并切换(2.23+ 已稳定,推荐替代 checkout)
git merge <分支> # 合并到当前分支
git merge --abort # 冲突解决不了先撤
git add --resolved # 只暂存本次冲突文件并自动检查残留冲突标记(2.56+,比 add -u 安全)
git branch -d <分支> # 删除已合并分支
git rebase main # 变基(个人实验分支整理用,公共分支禁用)
4. 远程协作¶
git remote -v # 查看远程
git remote add origin <url>
git push -u origin main # 首次推送
git push / git pull # 日常推送 / 拉取
git pull --rebase # 拉取并用变基整理(避免多余 merge commit)
git fetch --all # 只取不合并
git push origin --delete <分支> # 删远程分支
git tag v1.0 && git push --tags # 打标签(版本发布)
5. 撤销与修复(事故自救)¶
git commit --amend -m "新说明" # 改最后一次提交(未推送时用)
git reset --soft HEAD~1 # 撤销提交,改动保留在暂存区
git reset --hard HEAD~1 # 危险:彻底丢弃最后一次提交
git revert <commit> # 安全:生成反向提交(已推送的用这个)
git reflog # 找回"丢失"的提交(救命命令)
git checkout <commit> -- <文件> # 从历史提交恢复单个文件
git stash / git stash pop # 临时存起改动 / 取回
git stash list / git stash drop
git cherry-pick <commit> # 把某次提交摘到当前分支
6. .gitignore 模板(实验环境常用)¶
# Vagrant / 虚拟机
.vagrant/
*.box
# 密钥与敏感信息(务必忽略,不入库!)
*.pem
*.key
.env
# 日志与临时文件
*.log
*.tar.gz
__pycache__/
# 系统
Thumbs.db
.DS_Store
7. 常用技巧¶
git blame <文件> # 每行最后修改者
git log -p <文件> # 文件修改历史
git bisect start # 二分定位坏提交(配合 good/bad)
git worktree add ../hotfix hotfix # 多目录并行多分支
git shortlog -sn # 贡献统计
git clean -fd # 删除未跟踪文件(先 -n 预览!)
git maintenance start # 开启后台自动维护(gc/commit-graph 等定时执行,2.30+)
8. AI 助手操作守则¶
- 任何破坏性命令(
reset --hard、clean、push --force、restore)执行前先git status确认并向用户说明影响;已推送的提交用revert不用reset。 - 提交信息用简洁中文/英文说明意图,不写 "update" 这类无信息提交。
- 密钥、密码、
.env绝不提交;写.gitignore时主动补上。 - AI 生成的改动以小步提交为原则:一个改动一个 commit,方便回退。
- Windows 下注意换行符问题:仓库加
.gitattributes(* text=auto)更彻底。