仓库操作

命令

说明

git init

初始化新仓库

git clone <url>

克隆远程仓库

提交相关

命令

说明

git status

查看当前状态

git add <file>

暂存文件

git add .

暂存所有修改

git commit -m "消息"

提交暂存区

git commit -am "消息"

跳过 git add,直接提交已跟踪文件

git log --oneline

查看简洁提交历史

git log --oneline --all

查看所有分支历史

git log --oneline --graph

图形化查看历史

分支相关

命令

说明

git branch

查看本地分支列表

git branch <name>

创建新分支

git checkout <name>

切换分支

git checkout -b <name>

创建并切换分支

git merge <name>

合并指定分支到当前分支

git branch -d <name>

删除已合并的分支

回退 / 恢复

命令

说明

git checkout <hash> -- <file>

将指定文件恢复到旧版本(不改历史)

git checkout <hash>

切换到某次提交(分离头指针)

git revert <hash>

撤销某次提交(新增一个反向提交,不改历史)

git reset --soft <hash>

回退到某次提交,保留工作区修改

git reset --hard <hash>

回退到某次提交,丢弃所有修改(危险

git restore <file>

丢弃工作区的修改

git restore --staged <file>

将暂存区的文件移出

revert 冲突处理

命令

说明

git add <file>

手动解决冲突后,标记已解决

git revert --continue

继续执行 revert

git revert --abort

放弃这次 revert,回到之前状态

git revert --skip

跳过这次提交的 revert

远程操作

命令

说明

git remote add origin <url>

添加远程仓库

git push origin <name>

推送分支到远程

git push -u origin <name>

推送并建立关联(首次推送用)

git pull

拉取远程并合并

git fetch

拉取远程但不合并

核心概念

 工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库
         git checkout -- <file>        git reset              git pull
  • commit hash:git 自动计算的 SHA-1 值,用于定位某次提交

  • HEAD:指向当前所在的提交或分支

  • detached HEAD:不在任何分支上,只指向某次历史提交

  • git checkout <hash> -- <file>git revert <hash> 是安全的,不改写历史