Git 撤消更改

示例

撤消对工作副本中文件或目录的更改。

git checkout -- file.txt

从当前目录递归地用于所有文件路径,它将撤消工作副本中的所有更改。

git checkout -- .

若要仅撤消部分更改,请使用--patch。对于每次更改,系统都会询问您是否应撤消。

git checkout --patch -- dir

撤消添加到索引的更改。

git reset --hard

没有该--hard标志,将进行软复位。

使用尚未提交到远程的本地提交,您还可以进行软重置。因此,您可以重新处理文件,然后重新提交。

git reset HEAD~2

上面的示例将展开最后两次提交,并将文件返回到您的工作副本。然后,您可以进行进一步的更改和新的提交。

请注意:所有这些操作,除了软重置外,都将永久删除您的更改。为获得更安全的选择,请分别使用git stash -p或git stash。您以后可以使用撤消stash pop或永久删除stash drop。