假设未更改的文件未出现在 EGit 暂存视图中

Assume Unchanged files not appearing in EGit Staging View

有没有办法找到我设置为 'Assume Unchanged' 的文件?

我修改了几个文件想拉取,所以我把它们设置为'Assume Unchanged'。现在我已经完成并想提交,但它们没有出现在 Git 暂存 window 中。

我使用 Eclipse 4.4.2。

好吧,他们不会出现在暂存视图中是正确的。来自 git docs

When the "assume unchanged" bit is on, the user promises not to change the file and allows Git to assume that the working tree file matches what is recorded in the index.

如果您想 "re-track" 更改,请执行 git update-index --no-assume-unchanged <file>

在 Eclipse 中,其工作方式如下:右键单击文件 > Team > Advanced > No Assume Unchanged。完成此操作后,文件将显示在 Git 暂存视图.

Unstaged Changed 部分

设置了假设不变标志的文件用蓝色的小复选标记装饰,请参阅首选项 > 团队 > 标签装饰

除了将这些文件重新置于版本控制之下之外,还有一点可能对您有所帮助。 当您失去标记为 --assume-unchanged 的​​文件的概览时,您希望获得这些文件的列表。

您可以通过命令行获取此列表并执行 [Can I get a list of files marked --assume-unchanged?] 中提到的以下行:

git ls-files -v | grep '^[[:lower:]]' 

所以你得到这样的输出:

h path/to/ignored.file
h another/ignored.file

但请注意,您需要在路径中使用上述命令(gitgrep)。 在 Windows 中安装这些最简单的方法是使用 chocolatey.org:以管理员身份获取 Powershell 并执行以下命令:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

这会安装 chocolatey。然后你安装 git 如果你仍然需要它:

choco install git

然后安装 grep:

choco install grep

就是这样。

因为在 Git 暂存视图中尝试单击 "Replace with HEAD Revision" 时,eclipse 很容易意外单击 "Assume Unchanged" 选项,我需要结合使用上述答案.

一、查看我运行以下的所有文件(感谢@armin.midel):
git ls-files -v | grep '^[[:lower:]]'

使用以下方法删除文件(感谢@s.d):
git update-index --no-assume-unchanged <file>