操作
一、仓库初始化与克隆
1. 初始化新仓库
1 | git init # 初始化当前目录为 Git 仓库 |
2. 克隆现有仓库
1 | git clone <url> # 克隆仓库到当前目录 |
二、基本工作流操作
1. 检查状态
1 | git status # 查看工作区和暂存区状态 |
2. 添加到暂存区
1 | git add <file> # 添加指定文件 |
3. 提交更改
1 | git commit -m "message" # 提交并添加描述 |
4. 查看历史
1 | git log # 查看提交历史 |
三、分支管理
1. 查看分支
1 | git branch # 查看本地分支 |
2. 创建分支
1 | git branch <name> # 创建新分支 |
3. 切换分支
1 | git checkout <branch> # 切换到分支 |
4. 合并分支
1 | git merge <branch> # 合并指定分支到当前分支 |
5. 删除分支
1 | git branch -d <branch> # 删除已合并的分支 |
四、远程仓库操作
1. 管理远程仓库
1 | git remote # 查看远程仓库 |
2. 拉取和推送
1 | git fetch # 从远程获取最新信息(不合并) |
五、撤销与回退
1. 撤销工作区修改
1 | git checkout -- <file> # 撤销工作区的修改 |
2. 撤销暂存区修改
1 | git reset HEAD <file> # 将文件移出暂存区 |
3. 回退提交
1 | git reset --soft HEAD~1 # 回退提交但保留修改在暂存区 |
六、暂存与储藏
1. 储藏(Stash)
1 | git stash # 储藏当前修改 |
七、标签管理
1. 创建标签
1 | git tag <tagname> # 创建轻量标签 |
2. 查看标签
1 | git tag # 查看所有标签 |
3. 操作标签
1 | git push origin <tagname> # 推送标签到远程 |
八、比较与差异
1. 查看差异
1 | git diff # 工作区 vs 暂存区 |
2. 比较分支
1 | git diff <branch1>..<branch2> # 两个分支间的差异 |
九、配置管理
1. 用户配置
1 | git config --global user.name "Your Name" |
2. 别名配置
1 | git config --global alias.co checkout |
3. 查看配置
1 | git config --list # 查看所有配置 |
十、高级操作
1. Rebase(变基)
1 | git rebase <branch> # 变基到指定分支 |
2. Cherry-pick
1 | git cherry-pick <commit> # 应用指定提交 |
3. Bisect(二分查找)
1 | git bisect start # 开始二分查找 |
4. 子模块
1 | git submodule add <url> <path> # 添加子模块 |
十一、清理与维护
1. 清理文件
1 | git clean -n # 显示将要清理的文件(预览) |
2. 垃圾回收
1 | git gc # 垃圾回收,优化仓库 |
十二、工作流快速参考
日常开发流程
1 | # 1. 开始新功能 |
紧急修复流程
1 | # 1. 创建修复分支 |
十三、实用技巧
1. 查看引用日志
1 | git reflog # 查看所有操作记录 |
2. 查看文件历史
1 | git blame <file> # 逐行查看文件修改历史 |
3. 重写历史
1 | # 注意:这会改变提交历史,只在自己的分支使用 |
📊 命令速查表
| 类别 | 常用命令 | 用途 |
|---|---|---|
| 初始化 | git init, git clone |
创建/获取仓库 |
| 状态 | git status, git log |
查看状态和历史 |
| 提交 | git add, git commit |
保存更改 |
| 分支 | git branch, git checkout |
分支管理 |
| 合并 | git merge, git rebase |
合并代码 |
| 远程 | git remote, git push, git pull |
远程协作 |
| 撤销 | git reset, git revert, git checkout -- |
撤销操作 |
| 储藏 | git stash |
临时保存工作 |
| 标签 | git tag |
版本标记 |