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


当前回答

只用:

git stash -u

是的,容易。

如果你真的很关心你的<unk>子,那么你可以跟随吉特<unk>子下降,但在那个时候你更好地使用(从Mariusz Nowak):

git checkout -- .
git clean -df

然而,我喜欢 git stash -u 最好的,因为它“排除”所有跟踪和未跟踪的变化在一个命令。 但是 git checkout -. 只排除跟踪的变化, git clean -df 只排除未跟踪的变化... 并输入两个命令是太多的工作:)

其他回答

如果您不感兴趣保留未完成的更改(特别是如果未完成的更改是新的文件),我发现这个方便:

git diff | git apply --reverse

最简单的方式是使用这个命令:

此命令用于排除工作目录的变更 -

git checkout -- .

首頁 〉外文書 〉文學 〉文學 〉HTTPS://git-scm.com/docs/git-checkout

在 git 命令中,未追踪文件的存储是通过使用:

git stash -u

HTTP://git-scm.com/docs/git-stash

你可以使用 git stash - 如果有什么不对劲,你仍然可以从 stash 返回。 类似于这里的一些其他答案,但这个也删除所有未输入的文件,以及所有未输入的删除:

git add .
git stash

如果你检查一切都没事,请放下:

git stash drop

比拉尔·马克索德(Bilal Maqsood)与吉特清洁的答案也为我工作了,但我有更多的控制权 - 如果我偶然做STH,我仍然可以恢复我的变化

更新

我认为还有1个变化(我不知道为什么这对我以前工作):

git add. - A 而不是 git add.

没有 -A 删除的文件将不会复制

要排除工作目录中的变化,使用 git checkout -- <file> -- 意味着当前分支参考的变化:-

https://www.baeldung.com/git-discard-unstaged-变更

你有一个非常简单的 git 命令 git checkout.