Skip to content

常用命令

下列命令在仓库根目录或子目录执行均可(Git 会向上查找 .git)。

创建与克隆

场景命令
当前目录初始化仓库git init
克隆远程仓库git clone <仓库 URL> [本地目录名]

状态与差异

场景命令
查看工作区与暂存区状态git status
查看未暂存改动git diff
查看已暂存改动git diff --staged
查看提交历史(简洁)git log --oneline --graph -n 20

提交

场景命令
暂存单个文件git add <路径>
暂存全部跟踪文件变更git add -u
暂存所有(含新文件)git add .
提交git commit -m "说明本次修改"
修改上一次提交说明(未推送时)git commit --amend

分支

场景命令
列出本地分支git branch
创建分支git branch <分支名>
切换分支git checkout <分支名>git switch <分支名>
创建并切换git checkout -b <分支名>git switch -c <分支名>
删除已合并分支git branch -d <分支名>

远程

场景命令
查看远程git remote -v
添加远程git remote add origin <URL>
拉取并合并当前分支跟踪的远程git pull
推送当前分支git push
首次推送并建立跟踪git push -u origin <分支名>

撤销与暂存

场景命令
丢弃工作区对某文件的修改(危险)git checkout -- <文件>git restore <文件>
取消暂存git restore --staged <文件>
临时搁置未提交改动git stash;恢复 git stash pop

合并与冲突

场景命令
将分支 B 合并进当前分支git merge <B>
冲突时:编辑文件去掉标记后git add <文件>git commit

冲突标记形如 <<<<<<<=======>>>>>>>,需人工保留正确内容再提交。

忽略文件

在仓库根目录创建 .gitignore,每行一个模式,例如:

gitignore
node_modules/
dist/
.env
*.log

已跟踪的文件需先从索引移除再忽略:git rm -r --cached <路径>

更多「为什么这样设计」见 基础原理

最近更新