撤消更改

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

git checkout -- file.txt

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

git checkout -- .

要仅撤消部分更改,请使用 --patch。对于每次更改,你都会被问到是否应该撤消。

git checkout --patch -- dir

撤消添加到索引的更改。

git reset --hard

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

对于你尚未推送到遥控器的本地提交,你也可以进行软重置。因此,你可以重做文件然后重新提交。

git reset HEAD~2

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

注意: 除了软重置之外,所有这些操作都将永久删除你的更改。如需更安全的选项,请分别使用 git stash -pgit stash。你可以稍后使用 stash pop 撤消或使用 stash drop 永久删除。