6大类50+常用命令 · 可视化工作流 · 8个常见场景解决方案 · Git配置最佳实践
git init
git clone <url>
git add <file>
git add .
git commit -m "message"
git status
git branch
git branch <name>
git checkout <branch>
git checkout -b <branch>
git merge <branch>
git branch -d <branch>
git remote -v
git remote add origin <url>
git push origin <branch>
git pull origin <branch>
git fetch origin
git restore <file>
git restore --staged <file>
git reset --soft HEAD^
git reset --hard HEAD^
git revert <commit>
git log
git log --oneline
git log --graph
git diff
git show <commit>
git stash
git stash pop
git rebase <branch>
git cherry-pick <commit>
git bisect
# 修改最近一次提交信息
git commit --amend -m "新的提交信息"
# 添加漏掉的文件到最近一次提交
git add 漏掉的文件
git commit --amend --no-edit
# 暂存当前工作
git stash save "正在开发的功能"
# 切换到其他分支修复bug
git checkout bugfix
# 修复完成后切回原分支
git checkout feature
git stash pop
# 方法1:安全撤销(推荐)
git revert HEAD
git push origin main
# 方法2:强制覆盖(谨慎使用)
git reset --hard HEAD^
git push --force origin main
# 查看冲突文件
git status
# 手动解决冲突后
git add 已解决的文件
git commit -m "解决合并冲突"
# 或者取消合并
git merge --abort
# 查看所有操作记录
git reflog
# 找到被删除分支的最后commit
git checkout -b 恢复的分支名 commit_id
# 交互式变基
git rebase -i HEAD~3
# 在编辑器中,将pick改为squash或s
# 保存后编辑新的commit message
# 从Git仓库移除但保留本地文件
git rm --cached 文件名
# 添加到.gitignore
echo "文件名" >> .gitignore
git add .gitignore
git commit -m "停止跟踪文件"
# 查看所有操作历史
git reflog
# 找到丢失commit的id
git checkout commit_id
# 或者创建新分支保存
git branch 恢复的分支 commit_id
| 配置项 | 命令 | 说明 |
|---|---|---|
| 用户名 | git config --global user.name "Your Name" |
设置全局用户名 |
| 用户邮箱 | git config --global user.email "email@example.com" |
设置全局邮箱 |
| 默认编辑器 | git config --global core.editor "code --wait" |
设置VS Code为默认编辑器 |
| 别名配置 | git config --global alias.co checkout |
设置常用命令别名 |
| 自动换行 | git config --global core.autocrlf input |
处理跨平台换行符 |
| 查看配置 | git config --list |
查看所有配置 |
适合大型项目,版本发布严格
适合持续部署,简单高效
环境分支+功能分支
Git 是目前最流行的分布式版本控制系统,无论是个人开发者还是团队协作,掌握Git都是必备技能。ng.cc整理的Git命令速查表覆盖了初始化、提交、分支、远程、撤销、历史查看6大核心模块,包含50+最常用命令,并提供可视化工作流程图和8个真实开发场景的解决方案。
工作区、暂存区、本地仓库、远程仓库的流转关系一目了然,告别抽象概念。
提交写错、分支误删、冲突解决、撤销推送……覆盖90%开发痛点。
所有命令均带复制按钮,无需手敲,即查即用。
Git Flow / GitHub Flow / GitLab Flow 对比,选择适合团队的协作模式。
git init 初始化仓库,git clone 克隆远程项目,git add 将修改提交到暂存区,git commit 将暂存区内容提交到本地仓库,git status 随时查看当前状态。这是每天使用频率最高的命令组。
git branch 查看/创建分支,git checkout 切换分支,git merge 合并分支。分支是Git的精髓,建议每个功能独立分支开发,保持主分支整洁。
git push 上传本地提交,git pull 拉取远程更新,git fetch 仅获取不合并。多人协作时,建议先pull再push,避免冲突。
git restore 是Git 2.23+的新命令,替代git checkout的撤销功能;git reset 用于本地撤销;git revert 用于远程安全撤销。误操作时不要慌,Git几乎能找回所有丢失的提交。
git pull = git fetch + git merge。fetch 只将远程更新下载到本地仓库,不会自动合并;pull 下载后立即合并。推荐先用fetch查看差异,再决定是否合并,更安全。
git commit --amend;如果已推送,修改后需git push --force,但务必确认只有你使用该分支。团队分支禁止force push。
git reset:移动HEAD指针,可用于撤销commit(本地操作)。git revert:创建新的反向提交来抵消旧提交(远程安全)。git restore:专门用于撤销工作区或暂存区的修改(不改变提交历史)。git rm --cached 文件名停止跟踪,再添加到.gitignore。
git status查看冲突文件。<<<<<<<、=======、>>>>>>>标记,保留正确内容。git add标记为已解决。git commit 完成合并。git reflog 记录了HEAD指针的每一次移动历史(包括被重置、变基、删除分支的操作)。只要提交在本地仓库中存在过,就能通过reflog找到commit id恢复。reflog记录默认保留90天。
本工具是ng.cc开发者工具箱版本控制系列,您可能还需要:
⚡ 所有命令均在浏览器本地处理,不存储任何用户数据。