git各种撤销
1、撤销“public”修改
场景:
你使用git push将本地更改发布到github上,突然意识到这个commit有点问题,不能push上去,你需要撤销这个commit。
命令:
git revert < commitId >
做了什么:
git revert创建了一个与sha所代表的commit的“相反”的commit,这个新的commit会将sha commit所做的一切撤销。
2、修改最近一次commit message
场景:
如果你git commit -m "fixed bug #42",之后你意识到应该是git commit -m "fixed bug #41",这是该咋办。
命令:
git commit –-amend -m “fixed bug #41”
做了什么:
git commit --amend仅仅改变了上一次commit的message,其他什么事儿也没干,可以放心使用。
3、撤销“local”修改
场景:
一只猫跳到你键盘上,破坏了你正在编辑的文件,正在编辑的内容乱了一塌糊涂,这是你想把文件恢复到上次commit的状态。
命令:
git checkout < bad file >
做了什么:
git checkout改变当前工作目录中的文件到指定状态。你可以指定分支名或者sha。如果没有指定,默认执行的是git checkout HEAD。HEAD代表当前分支的最后一次commit。