1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。
单个文件/文件夹:

$ git checkout -- filename
 
  • 1

所有文件/文件夹:

$ git checkout .
 
  • 1

2. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改。
单个文件/文件夹:

$ rm filename / rm dir -rf
 
  • 1

所有文件/文件夹:

$ git clean -xdf
 
  • 1

// 删除新增的文件,如果文件已经已经git add到暂存区,并不会删除!

3. 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。
单个文件/文件夹:

$ git reset HEAD filename
 
  • 1

所有文件/文件夹:

$ git reset HEAD .
 
  • 1

4. 本地通过git add & git commit 之后,想要撤销此次commit

$ git reset commit_id
 
  • 1

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
// 撤销之后,你所做的已经commit的修改还在工作区!

$ git reset --hard commit_id
 
  • 1

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
// 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码不会清除!

参考:

  1. git放弃修改&放弃增加文件
  2. git丢弃本地修改的所有文件(新增、删除、修改)
  3. 撤销修改
  4. Git 丢弃本地修改