Git 常用命令速查
记一些每次都要查一下的命令。日常的 add / commit / push 就不写了。
分支
git switch -c feature/xxx # 新建并切到分支
git branch -d feature/xxx # 删除已合并的分支
git branch -vv # 看每个分支跟踪的远端
git push -u origin feature/xxx # 第一次推送并建立跟踪
撤销
- 还没 add 的改动:
git restore 文件 - 已经 add 但还没提交:
git restore --staged 文件 - 改最后一次提交的说明或补文件:
git commit --amend(已推送的就别用了) - 撤销某次已推送的提交:
git revert 提交号,它会新建一个反向提交,不改历史
找回误删的提交
reset 错了或者删了分支,提交其实还在,用 reflog 能找到:
git reflog # 列出 HEAD 走过的每一步
git switch -c rescue 提交号 # 从那一步拉个新分支出来
查历史
git log --oneline --graph --all # 看分支走向
git log -p -- 文件 # 某个文件的每次改动
git blame 文件 # 每一行最后是谁改的
git log -S "关键字" # 找引入或删掉某段文字的提交
暂存手头的活
git stash push -m "说明"
git stash list
git stash pop
stash 适合临时切一下分支。放久了容易忘,宁可先提交到一个临时分支上。