📦 基础配置 #
# 全局用户配置
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# 查看配置
git config --list
🚀 基础工作流 #
# 克隆仓库
git clone <仓库地址>
# 查看状态
git status
# 添加到暂存区
git add <文件名> # 添加单个文件
git add . # 添加所有修改
# 提交到本地仓库
git commit -m "提交说明"
# 推送到远程
git push origin <分支名>
# 拉取更新
git pull origin <分支名>
🌿 分支操作 #
# 查看分支
git branch # 查看本地分支
git branch -a # 查看所有分支(包括远程)
# 创建分支
git branch <分支名> # 仅创建
git checkout -b <分支名> # 创建并切换
# 切换分支
git checkout <分支名>
# 删除分支
git branch -d <分支名> # 安全删除(已合并)
git branch -D <分支名> # 强制删除(未合并)
# 重命名分支
git branch -m <新分支名>
🔄 合并与变基 #
# 合并分支到当前分支
git merge <分支名>
# 变基(保持提交历史线性)
git rebase <分支名>
# 变基交互式(整理提交)
git rebase -i HEAD~3 # 整理最近3次提交
↩️ 撤销操作 #
# 撤销工作区修改
git checkout -- <文件名>
# 撤销暂存区文件
git reset HEAD <文件名>
# 修改最后一次提交
git commit --amend -m "新提交说明"
# 回退到指定提交
git reset --hard <提交ID> # 彻底回退
git reset --soft <提交ID> # 保留修改到暂存区
# 撤销某个提交(创建新的反向提交)
git revert <提交ID>
📊 查看历史 #
# 查看提交历史
git log # 详细日志
git log --oneline # 简洁日志
git log --graph # 图形化显示
# 查看文件修改历史
git blame <文件名>
# 查看两次提交之间的差异
git diff <提交ID1> <提交ID2>
git diff HEAD~1 HEAD # 比较最近两次提交
🏷️ 标签管理 #
# 创建标签
git tag <标签名> # 轻量标签
git tag -a <标签名> -m "说明" # 附注标签
# 推送到远程
git push origin <标签名>
git push origin --tags # 推送所有标签
# 删除标签
git tag -d <标签名>
🌐 远程仓库 #
# 查看远程仓库
git remote -v
# 添加远程仓库
git remote add <别名> <仓库地址>
# 移除远程仓库
git remote remove <别名>
# 更新远程分支列表
git fetch --prune
🧹 清理与优化 #
# 清理未跟踪文件
git clean -f # 删除未跟踪文件
git clean -fd # 删除未跟踪文件和目录
# 垃圾回收
git gc
# 查看仓库大小
git count-objects -vH
🔧 实用技巧 #
# 暂存当前修改(临时保存)
git stash # 暂存
git stash list # 查看暂存列表
git stash pop # 恢复最近暂存的修改
# 查看某次提交的修改
git show <提交ID>
# 查找包含关键词的提交
git log --grep="关键词"
# 别名设置(添加到 ~/.gitconfig)
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
🚨 常见问题处理 #
# 强制推送(覆盖远程,慎用!)
git push -f origin <分支名>
# 丢弃本地所有修改(慎用!)
git reset --hard HEAD
# 解决冲突后继续合并
git merge --continue
git rebase --continue
# 终止合并/变基
git merge --abort
git rebase --abort