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 st、git ci -m "xx" 即可。