有用但不常用的git指令
Jan 11, 2017
暂存当前分支代码(不提交)
场景:当你在开发分支工作,突然收到一个线上故障,需要立刻新建一个 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 操作可能会覆
盖掉其他人的提交记录