如何在我的工作副本中排除非指数的变更?


当前回答

尝试了上面的所有解决方案,但仍然无法摆脱新的,未完成的文件。

使用 git clean -f 删除这些新文件 - 但是要小心! 注意力选项。

其他回答

尝试了上面的所有解决方案,但仍然无法摆脱新的,未完成的文件。

使用 git clean -f 删除这些新文件 - 但是要小心! 注意力选项。

我真的觉得这篇文章有用来解释什么时候使用什么命令: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

有几个不同的案例:

如果您没有下载文件,则使用 git checkout. Checkout “更新工作树中的文件以匹配指数中的版本”。 如果文件没有下载(因此添加到指数)... 这个命令将基本上将文件转换为您最后的承诺。

我怀疑使用 git stash 是很受欢迎的选择,因为它有点不那么危险. 你总是可以回到它,如果你偶然在使用 git reset 时跳过太远。

请参见上面的文章以获得更多建议。

我有一個奇怪的情況,在那裡一個檔案總是無關,這有助於我解決。

git rm.gitattributes git add -A git reset --hard

git checkout -f


男子Git-Checkout:

F、 - 力量

在切换分支时,即使指数或工作树与头部不同,也会进行进展,用来消除当地的变化。

在从指数中查看路径时,不要错过未嵌入的输入;相反,未嵌入的输入被忽略。

您可以创建自己的标签,描述如何以描述的方式进行。

我用下一个字符来排除变化。


排除工作树中的一个(列表)文件(s)中的变化

discard = checkout --

然后,你可以使用它作为附加,以排除所有变更:

discard .

或者只是一个文件:

discard filename

否则,如果你想删除所有的更改,以及未追踪的文件,我使用一个混合的检查和清洁:

清理和排除工作树中的变更和未追踪文件

cleanout = !git clean -df && git checkout -- .

所以使用是简单的如下:

cleanout

现在在下一个GitHub repo中可用,其中包含许多联盟:

HTTPS://github.com/GitAlias/吉塔利亚