1、当修改了某个文件但是还没有使用git add提交到暂存区时候,如果想放弃该文件的修改
git checkout – 文件名称
2、如果已经使用了git add还没用git commit 然后不想要这个修改的内容了
git reset HEAD 文件名称
git checkout – 文件名称
3、如果已经使用了commit,然后不想要该commit的时候
git log查看提交的日志,然后找到想要回到的地方(例如:只是不想要刚刚的这个提交,那么找到刚刚的这个提交的上一个提交,然后复制他的commitID,复制前几位就行)
git reset --hard commitId
如果用git reset – soft commitId 提交会回到上一个提交但是本地修改的新内容还是存在,所以可以相当于继续修改后再提交
- git reset --soft
- git reset --hard
前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码
===》使用-- hard就相当于舍弃了这次commit的所有内容,提交会到了上一次,新修改的代码也都没有了。相当于修改完了很多内容然后忽然说不要这个内容了,就可以这么干
使用–soft就相当于回到了上一次的commit状态,但是这次修改的内容还存在,就相当于,我们修改了一些东西然后提交了,这个时候突然要加东西,这个时候就可以撤回这个commit的状态然后继续修改,就可以省去提交两次。
4、撤销已经push上去的内容
首先还是要使用git reset进行相应的操作(用hard还是soft),这样在可以对本地的代码进行修改,然后进行提交,再重新进行push,这个时候可能会遇见git的错误提示


意思就是当前分支的版本低于远程分支的版本
所以此时使用git push origin 分支名称 --force
然后远程的代码就被强制更新了,所以起到了撤销远程的作用
(使用的时候当心不要覆盖了其他人的)