以下是我总结的 Git 常用指令大全,涵盖日常开发、团队协作、版本控制、问题排查等高频场景,按功能分类整理,方便小伙伴们随时查阅哦!(整理不易,可以奢求一个赞嘛👍 😭 )
一、仓库操作
指令 | 说明 |
---|
🔥git init | 创建本地仓库 |
git clone <url> | 克隆远程仓库 |
🔥git remote -v | 查看远程仓库地址 |
git remote add origin <url> | 添加远程仓库 |
git remote prune origin | 清理本地无效远程分支 |
二、提交与修改
指令 | 说明 |
---|
git status | 查看文件状态 |
git add <file> | 添加文件到暂存区 |
🔥git add . | 添加所有修改到暂存区 |
🔥git commit -m "message" | 提交更改(message必须写哦) |
git commit --amend | 修改最近一次提交 |
git restore --staged <file> | 从暂存区撤回文件 |
git restore <file> | 丢弃工作区修改 |
三、分支管理
指令 | 说明 |
---|
git branch | 查看本地分支 |
git branch -a | 查看所有分支(含远程) |
git branch <name> | 创建新分支 |
🔥git checkout <branch> | 切换分支 |
git switch <branch> | (新版) 切换分支 |
git merge <branch> | 合并分支 |
git rebase <branch> | 变基操作 |
git branch -d <branch> | 删除本地分支 |
git push origin --delete <branch> | 删除远程分支 |
四、远程协作
指令 | 说明 |
---|
git fetch | 拉取远程更新(不合并) |
git pull | 拉取并合并远程更新 |
git push origin <branch> | 推送分支到远程 |
git push -u origin <branch> | 推送并关联远程分支 |
git push --force-with-lease | 安全强制推送 |
五、日志与历史
指令 | 说明 |
---|
git log | 查看提交历史 |
git log --oneline --graph | 简洁图形化历史 |
git log -p <file> | 查看文件修改历史 |
git blame <file> | 查看文件每行修改者 |
git diff | 查看工作区改动 |
git diff --cached | 查看暂存区改动 |
六、撤销与回退
指令 | 说明 |
---|
git reset --soft HEAD~1 | 回退提交但保留更改 |
git reset --hard HEAD~1 | 彻底回退提交 |
git revert <commit> | 创建新提交来撤销某次提交 |
git stash | 暂存当前修改 |
git stash pop | 恢复暂存修改 |
七、高级操作
指令 | 说明 |
---|
git cherry-pick <commit> | 选择性合并提交 |
git rebase -i HEAD~3 | 交互式变基 |
git bisect start | 二分法排查BUG |
git submodule update --init | 初始化子模块 |
git filter-repo | 彻底清理历史大文件 |
八、配置与别名
指令 | 说明 |
---|
🔥git config --global user.name "name" | 设置用户名 |
🔥git config --global user.email "email" | 设置邮箱 |
git config --global alias.<name> <command> | 设置命令别名 |
git config --list | 查看所有配置 |
九、常见问题解决
-
冲突解决
git diff --name-only --diff-filter=U # 查看冲突文件
git mergetool # 使用工具解决
-
找回误删提交
git reflog # 找到提交哈希
git reset --hard <hash>
十、推荐工作流
-
功能开发
git switch -c feature/xxx # 创建分支
git add . && git commit -m "msg"
git push -u origin feature/xxx
-
代码审查
git fetch origin
git diff origin/main...HEAD # 查看与主分支差异