撤消更改
撤消对工作副本中的文件或目录的更改。
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
永久删除。