如何放弃未提交的更改

7

我在本地机器上进行了一些更改,但我不想保留它们。

当我执行pull以从服务器获取最新更改时,会出现消息,指出我有未暂存的更改,必须提交或隐藏它们。

但是我不想这样做。我想取消它们。怎么做呢?


可能是重复的问题:git:撤消所有工作目录更改,包括新文件 - phd
2个回答

17

git checkout . 用来撤销已跟踪文件上所有未提交的更改。

git clean -f 用来移除未提交的文件。

PS: 在 git checkout . 中,. 是 shell 通配符,表示“当前目录和子目录中的所有文件”。您可以使用任何通配符或路径(例如:git checkout path/git checkout ./*.py)。


1
或者您可以用您要还原的东西的名称代替“.”,这样您就可以保留其他更改。 - Dale Wilson
@DaleWilson 已修复。 - Arount

2
git reset --hard

将您的存储库还原到干净状态。

git reset <commit>会将索引更改为指向该提交, 默认情况下为HEAD,即最近的提交。

--hard标志还将任何文件还原为该提交时的状态。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接