Git 基础命令明细手册
一、仓库操作
1. 初始化仓库
git init # 在当前目录初始化新仓库
git init <目录名> # 在指定目录初始化
2. 克隆仓库
git clone <仓库URL> # 克隆远程仓库
git clone -b <分支名> <仓库URL> # 克隆指定分支
git clone --depth 1 <仓库URL> # 浅克隆(只获取最新版本)
二、配置管理
1. 用户配置
git config --global user.name "用户名" # 设置全局用户名
git config --global user.email "用户邮箱" # 设置全局邮箱
git config --global core.editor vim # 设置默认编辑器
2. 查看配置
git config --list # 查看所有配置
git config user.name # 查看特定配置项
三、文件操作
1. 状态检查
git status # 查看工作区和暂存区状态
git status -s # 简洁状态显示
2. 添加文件
git add <文件名> # 添加特定文件
git add . # 添加所有修改和新文件
git add -u # 添加所有修改(不包括新文件)
git add -A # 添加所有变化(包括删除)
3. 提交更改
git commit -m "提交信息" # 提交暂存区内容
git commit -am "提交信息" # 添加并提交所有已跟踪文件的修改
git commit --amend # 修改最后一次提交
四、分支管理
1. 分支操作
git branch # 查看本地分支
git branch -a # 查看所有分支(包括远程)
git branch <分支名> # 创建新分支
git branch -d <分支名> # 删除已合并分支
git branch -D <分支名> # 强制删除分支
2. 切换分支
git checkout <分支名> # 切换到指定分支
git checkout -b <新分支名> # 创建并切换到新分支
五、远程操作
1. 远程仓库管理
git remote -v # 查看远程仓库
git remote add <名称> <URL> # 添加远程仓库
git remote remove <名称> # 移除远程仓库
2. 推送与拉取
git push <远程名> <分支名> # 推送分支到远程
git push -u origin main # 首次推送并设置上游分支
git pull <远程名> <分支名> # 拉取远程分支并合并
git fetch # 只获取不自动合并
六、历史查看
1. 查看日志
git log # 查看完整提交历史
git log --oneline # 简洁历史显示
git log -p # 显示每次提交的差异
git log --graph # 图形化显示分支
git log --since="1 week ago" # 按时间筛选
2. 差异比较
git diff # 工作区与暂存区差异
git diff --cached # 暂存区与最新提交差异
git diff HEAD # 工作区与最新提交差异
git diff <commit1> <commit2> # 两次提交间的差异
七、撤销操作
1. 撤销工作区修改
git checkout -- <文件名> # 撤销工作区修改
git restore <文件名> # (Git 2.23+)撤销工作区修改
2. 撤销暂存区修改
git reset HEAD <文件名> # 取消暂存
git restore --staged <文件名> # (Git 2.23+)取消暂存
3. 回退提交
git reset --soft HEAD~1 # 撤销提交但保留更改在暂存区
git reset --mixed HEAD~1 # 撤销提交和暂存(默认)
git reset --hard HEAD~1 # 彻底丢弃提交和更改
八、标签管理
git tag # 列出所有标签
git tag <标签名> # 创建轻量标签
git tag -a <标签名> -m "信息" # 创建带注释标签
git push origin <标签名> # 推送标签到远程
git tag -d <标签名> # 删除本地标签
git push origin --delete <标签名> # 删除远程标签
九、储藏与清理
git stash # 储藏当前工作
git stash list # 查看储藏列表
git stash apply # 恢复最新储藏
git stash drop # 删除最新储藏
git stash pop # 恢复并删除最新储藏
git clean -fd # 删除未跟踪的文件和目录
十、.gitignore 文件示例
# 忽略所有.class文件
*.class
# 不忽略lib目录下的.class文件
!lib/*.class
# 忽略特定文件
config.properties
# 忽略目录
build/
tmp/
掌握这些基础命令后,您已经可以完成Git日常版本控制工作的90%以上任务。建议在实际使用中逐步熟悉这些命令的组合使用。
No Comments