暂存当前分支代码(不提交)

场景:当你在开发分支工作,突然收到一个线上故障,需要立刻新建一个 hotfix 分支去修复,但是
开发分支的代码才写了一半,你不希望提交,但是强制切去 hotfix 分支又会丢失当前的代码。

这时候可以把工作目录的修改暂存起来

git stash

当你处理完故障切换回原来分支继续干活,恢复刚刚上一次暂存的记录

git stash apply 

又或者恢复并从暂存区删除上一次暂存的记录

git stash pop 

另外,你可以查看暂存列表

git stash list

恢复指定第2个暂存记录

git stash apply stash@{2}

清空工作目录的修改

场景:当你在工作目录做一些修改,由于不满意或需求变更,需要全部丢弃。

只需要一个指令就能清空工作目录所有修改

git reset --hard 最近一个commitid

删除远程仓库的错误提交

场景:当你手贱把一个未经测试的 commit 直接 push 到远程仓库,别人只要在你这个分支下 pull
了代码,那就挂了。

先删除本地错误的提交

git reset --hard HEAD~1

再提交到远程仓库

git push origin yourbranch --force

需要注意的是,当存在多人对 yourbranch 同时进行开发的时候,以上这个 –force 操作可能会覆
盖掉其他人的提交记录