Skip to content

Git 个人操作速查

一份偏重个人日常使用的 Git 命令速查,按使用频率从高到低排列。

初始配置

第一次使用 Git 时设置身份信息,全局生效:

bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

查看当前配置:

bash
git config --list

获取仓库

从远程克隆一个项目到本地:

bash
git clone <仓库地>

把本地已有文件夹变成 Git 仓库:

bash
cd 项目目录
git init
git remote add origin <仓库地>

日常三连

个人开发最高频的动作,循环执行:

bash
git status              # 看改了哪些文件
git add .               # 暂存全部改动(也可指定文件)
git commit -m "提交说明"  # 提交到本地

查看提交历史,简洁模式:

bash
git log --oneline --graph

分支操作

分支是 Git 的核心,个人开发也建议用分支隔离不同任务:

bash
git branch                  # 查看本地分支
git branch dev              # 新建 dev 分支
git switch dev              # 切换到 dev
git switch -c feature-x     # 新建并切换到 feature-x
git branch -d dev           # 删除已合并的分支

合并分支(先切到目标分支,再合并来源):

bash
git switch main
git merge feature-x

与远程同步

bash
git push origin main        # 推送本地分支到远程
git pull                    # 拉取并合并远程更新
git fetch                   # 只拉取,不合并(更安全)

首次推送新分支需要建立追踪关系:

bash
git push -u origin feature-x

撤销与回退

改动还在工作区,没 add:

bash
git restore <>          # 丢弃该文件的改动

已经 add,还没 commit:

bash
git restore --staged <> # 取消暂存,改动保留

已经 commit,想撤回最近一次提交(改动保留在工作区):

bash
git reset --soft HEAD~1

回退到某个历史版本(--hard 会丢弃改动,慎用):

bash
git reset --hard <commit-id>

已经推送到远程的提交,更推荐用 revert 生成一个反向提交,避免改写历史:

bash
git revert <commit-id>

临时存放改动

手头改了一半要切分支处理别的事,又不想提交半成品:

bash
git stash               # 暂存当前改动
git stash list          # 查看暂存列表
git stash pop           # 取出最近一次暂存并删除记录

常见场景速查

想修改最近一次提交的说明:

bash
git commit --amend -m "新的说明"

合并多个提交为一个:

bash
git rebase -i HEAD~3    # 交互式整理最近 3 个提交

误删分支想恢复:

bash
git reflog              # 找到该分支最后的 commit-id
git switch -c dev <commit-id>

想看某行代码是谁改的:

bash
git blame <>

配置常用别名,少敲键盘:

bash
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit

之后 git stgit ci -m "xx" 即可。