Git常用命令
2025/10/23大约 2 分钟
Git 核心命令速查表
暂存区操作
# 取消暂存区的文件(仅撤销 `git add` 操作,不影响本地文件)
git reset
# 从暂存区移除文件(保留本地文件,仅停止 Git 跟踪)
git rm --cached <文件>仓库跟踪管理
# 列出仓库中所有已跟踪的文件
git ls-files
# 清除 Git 对指定目录的跟踪(仅本地跟踪,不删除文件)
git rm -r --cached <目录>首次拉去时出现 fatal: refusing to merge unrelated histories
# 拉取远程 main 并允许合并无关联历史
git pull origin main --allow-unrelated-histories远程仓库推送
# 推送当前本地分支到远程 `gh-pages` 分支并追踪
git push -u origin HEAD:gh-pages
# 强制推送当前本地分支到远程 `gh-pages` 分支并追踪
# git push -u <远程仓库别名> <本地分支名>:<远程分支名>
git push -f -u origin HEAD:gh-pages仓库状态查询
# 查看当前仓库状态(包括暂存区和工作区)
git status
# 查看本地提交历史(简洁格式)
git log --oneline
# 查看远程提交历史
# 1. 简洁显示:一行一个提交(哈希前7位 + 作者 + 提交信息)
git log origin/main --oneline
# 2. 显示分支合并关系(图形化展示,清晰看到分支走向)
git log origin/main --oneline --graph
# 查看分支状态(包括本地和远程分支)
git branch -a
# 查看远程仓库信息
git remote -v拓展技巧
若需批量清除所有已忽略文件的跟踪,可执行:
git rm -r --cached . && git add . && git commit -m "清除已忽略文件的跟踪"结合
git status定期检查仓库状态,避免冗余文件被跟踪。设置全局用户邮箱:
git config user.email "[email protected]"
分支管理
- 修改当前分支名:
git branch -m <新分支名> - 修改已存在分支名:
git branch -m <旧分支名> <新分支名>
修改提交
# 修改最后一次提交的邮箱(替换为你的匿名邮箱)
git commit --amend --author="[email protected]"
# 修改最后一次提交的内容
git commit --amend -m "新的提交信息取消提交操作
# 取消最后一次提交(保留修改内容,回到暂存区)
git reset --soft HEAD~1
# 取消最后一次提交(取消暂存,修改保留在工作区)
git reset --mixed HEAD~1
# 取消最后一次提交(直接丢弃所有修改,慎用!)
git reset --hard HEAD~1
# 取消最近n次提交(保留修改内容)
git reset --soft HEAD~n
# 取消指定提交的修改(生成新的反向提交)
git revert <commit-hash>
# 取消已推送到远程的提交(需强制推送)
git reset --hard HEAD~1
git push -f origin <branch-name>