git命令分类整理

ℹ️使用说明

本篇为 y总(AcWing)实操课的 git 命令整理,按使用场景分类。同一命令会在多个场景重复出现(如 git statusgit log),是刻意的速查设计,便于在对应场景下直接翻到。概念不熟的先看 02-git基本概念,动手流程见 04-git实操。正如 01 篇所说:不要背命令,随用随查

全局设置

命令 说明
git config --global user.name xxx 设置全局用户名,信息记录在 ~/.gitconfig 文件中
git config --global user.email xxx@xxx.com 设置全局邮箱地址,信息记录在 ~/.gitconfig 文件中
git init 将当前目录配置成 git 仓库,信息记录在隐藏的 .git 文件夹

常用命令

命令 说明
git add XX 将 XX 文件添加到暂存区
git commit -m "给自己看的备注信息" 将暂存区的内容提交到当前分支
git status 查看仓库状态
git log 查看当前分支的所有版本
git push -u 将当前分支推送到远程仓库(第一次需要 -u,以后不需要)
git clone git@git.acwing.com:xxx/XXX.git 将远程仓库 XXX 下载到当前目录下
git branch 查看所有分支和当前所处分支

查看命令

命令 说明
git diff XX 查看 XX 文件相对于暂存区修改了哪些内容
git status 查看仓库状态
git log 查看当前分支的所有版本
git log --pretty=oneline 用一行来显示
git reflog 查看 HEAD 指针的移动历史(包括被回滚的版本)
git branch 查看所有分支和当前所处分支
git pull 将远程仓库的当前分支与本地仓库的当前分支合并

删除命令

命令 说明
git rm --cached XX 将文件从仓库索引目录中删掉,不希望管理这个文件
git restore --staged xx 将 xx 从暂存区里移除
git checkout -- XXgit restore XX 将 XX 文件尚未加入暂存区的修改全部撤销

代码回滚

命令 说明
git reset --hard HEAD^git reset --hard HEAD~ 将代码库回滚到上一个版本
git reset --hard HEAD^^ 往上回滚两次,以此类推
git reset --hard HEAD~100 往上回滚 100 个版本
git reset --hard 版本号 回滚到某一特定版本

远程仓库

命令 说明
git remote add origin git@git.acwing.com:xxx/XXX.git 将本地仓库关联到远程仓库
git push -u 将当前分支推送到远程仓库(第一次需要 -u,以后不需要)
git push origin branch_name 将本地的某个分支推送到远程仓库
git clone git@git.acwing.com:xxx/XXX.git 将远程仓库 XXX 下载到当前目录下
git push --set-upstream origin branch_name 设置本地的 branch_name 分支对应远程仓库的 branch_name 分支
git push -d origin branch_name 删除远程仓库的 branch_name 分支
git checkout -t origin/branch_name 将远程的 branch_name 分支拉取到本地
git pull 将远程仓库的当前分支与本地仓库的当前分支合并
git pull origin branch_name 将远程仓库的 branch_name 分支与本地仓库的当前分支合并
git branch --set-upstream-to=origin/branch_name1 branch_name2 将远程的 branch_name1 分支与本地的 branch_name2 分支对应

分支命令

命令 说明
git branch branch_name 创建新分支
git branch 查看所有分支和当前所处分支
git checkout -b branch_name 创建并切换到 branch_name 这个分支
git checkout branch_name 切换到 branch_name 这个分支
git merge branch_name 将分支 branch_name 合并到当前分支上
git branch -d branch_name 删除本地仓库的 branch_name 分支
git push --set-upstream origin branch_name 设置本地的 branch_name 分支对应远程仓库的 branch_name 分支
git push -d origin branch_name 删除远程仓库的 branch_name 分支
git checkout -t origin/branch_name 将远程的 branch_name 分支拉取到本地
git pull 将远程仓库的当前分支与本地仓库的当前分支合并
git pull origin branch_name 将远程仓库的 branch_name 分支与本地仓库的当前分支合并
git branch --set-upstream-to=origin/branch_name1 branch_name2 将远程的 branch_name1 分支与本地的 branch_name2 分支对应

stash 暂存

命令 说明
git stash 将工作区和暂存区中尚未提交的修改存入栈中
git stash apply 将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
git stash drop 删除栈顶存储的修改
git stash pop 将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
git stash list 查看栈中所有元素

高危命令警示

以下命令不可逆或影响远程协作,使用前务必确认(尤其是回滚类,先 git log / git reflog 确认目标版本):

命令 风险点
git reset --hard 丢弃目标版本之后的所有工作区改动,不可恢复(除非先入暂存/提交)
git push -d origin branch_name 直接删除远程分支,他人本地引用仍在但推送受阻
git rm --cached XX 只是取消跟踪不删本地文件;若误用 git rm 则本地文件一并删除
git stash drop / pop 弹出的 stash 不再保留,恢复错了要靠 git stash list 之外的恢复手段

命令学习路径

结合 01 篇的学习建议:初学者先掌握「全局设置 → add / commit / push / pull → clone」这条最小闭环(即"常用命令"节),其余分类随用随查即可;stashreset --hard、分支协作留到 04-git实操 和 06-git与github项目管理篇 的实际场景中理解。


项目分区导航git基本概念 ⬅️ | 03-git命令分类整理 | ➡️ git实操