一、仓库基础操作
| 命令 |
作用 |
示例 |
git init |
初始化新仓库 |
git init project |
git clone |
克隆远程仓库 |
git clone https://github.com/user/repo.git |
git status |
查看工作区状态 |
git status -s(简洁模式) |
二、文件操作管理
| 命令 |
作用 |
注意事项 |
git add |
添加文件到暂存区 |
git add .(添加全部)
git add *.cpp(通配符) |
git rm |
删除文件 |
git rm --cached file(保留本地文件) |
git mv |
移动/重命名文件 |
git mv old.txt new.txt |
三、提交历史管理
| 命令 |
作用 |
使用场景 |
git commit |
提交变更 |
git commit -m "fix: 修复登录逻辑" |
git log |
查看提交历史 |
git log --oneline --graph(图形化查看) |
git diff |
对比差异 |
git diff HEAD~2..HEAD(对比最近两次提交) |
四、分支管理
| 命令 |
作用 |
组合技巧 |
git branch |
分支操作 |
git branch -d feature(删除分支) |
git checkout |
切换分支 |
git checkout -b dev(创建并切换) |
git merge |
合并分支 |
git merge --no-ff feature(保留合并历史) |
git rebase |
变基操作 |
git rebase -i HEAD~3(交互式合并提交) |
五、远程协作
| 命令 |
作用 |
典型流程 |
git remote |
管理远程地址 |
git remote -v(查看远程地址) |
git push |
推送代码 |
git push origin main --force(强制推送,慎用) |
git pull |
拉取更新 |
git pull origin dev --rebase(变基式拉取) |
git fetch |
获取远程更新 |
git fetch && git merge origin/main |
六、撤销与恢复
| 场景 |
命令 |
说明 |
| 撤销未add修改 |
git restore <file> |
还原到最近提交状态 |
| 撤销已add文件 |
git reset HEAD <file> |
从暂存区移除 |
| 修改提交信息 |
git commit --amend |
修改最后一次提交 |
| 回退到历史版本 |
git reset --hard HEAD^ |
彻底回退(慎用) |
| 恢复误删文件 |
git checkout HEAD -- <file> |
从版本库恢复文件 |
七、高级操作技巧
-
储藏修改
git stash save "WIP: 临时保存" # 储藏当前修改
git stash list # 查看储藏列表
git stash pop # 恢复最近储藏
-
标签管理
git tag v1.0.0 # 创建轻量标签
git tag -a v1.1.0 -m "正式版" # 创建含备注的标签
git push origin --tags # 推送所有标签
-
子模块管理
git submodule add https://github.com/lib/lib.git
git submodule update --init --recursive
八、典型工作流示例
# 日常开发流程
git checkout -b feature/login # 创建功能分支
git add . # 添加修改文件
git commit -m "完成登录功能开发" # 提交修改
git push origin feature/login # 推送分支# 代码合并流程
git checkout main # 切换主分支
git pull origin main # 获取最新代码
git merge feature/login # 合并功能分支
git push origin main # 推送合并结果
九、配置优化建议
# 常用配置项
git config --global alias.co checkout # 设置命令别名
git config --global core.editor "code --wait" # 设置VS Code为默认编辑器
git config --global credential.helper cache # 缓存密码15分钟# 生成SSH密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
十、问题诊断工具
| 命令 |
用途 |
git reflog |
查看所有操作历史(救命命令) |
git bisect |
二分法定位问题提交 |
git blame |
查看文件修改历史 |