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

问题描述 投票:0回答:5

有没有办法找到我设置为“假设未更改”的文件?

我修改了几个文件并想要拉取,所以我将它们设置为“假设不变”。现在我已经完成并想要提交,但它们没有出现在 Git Staging 窗口中。

我使用Eclipse 4.4.2。

eclipse git egit
5个回答
25
投票

嗯,它们不会出现在暂存视图中是正确的。来自 git 文档

当“假设不变”位打开时,用户承诺不更改文件,并允许 Git 假设工作树文件与索引中记录的内容匹配。

如果您想“重新跟踪”更改,请执行

git update-index --no-assume-unchanged <file>

在 Eclipse 中,其工作原理如下:右键单击文件 > 团队 > 高级 > 不假设不变。完成此操作后,该文件将显示在 Git Staging ViewUnstaged Changed 部分。


5
投票

设置了假设未更改标志的文件带有一个小蓝色复选标记,请参阅首选项 > 团队 > 标签装饰

请参阅 https://bugs.eclipse.org/bugs/show_bug.cgi?id=581862,了解如何实现具有assumeValid集的列表文件的提示。如果有人想贡献一个实现。


1
投票

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

您可以通过命令行获取此列表并执行以下行,如[我可以获得标记为 --assume-unchanged 的文件列表吗?]:

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

所以你会得到这样的输出:

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

但请注意,您的路径上需要上述命令(

git
grep
)。 在 Windows 中安装这些软件的最简单方法是使用 chocolatey.org:以管理员身份获取 Powershell 并执行以下命令:

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

这将安装巧克力。然后如果你还需要的话就安装 git:

choco install git

然后安装 grep:

choco install grep

就是这样。


1
投票

因为 Eclipse 使得在尝试单击 Git Staging 视图中的“Replace with HEAD Revision”时很容易意外单击“Assume Unchanged”选项,所以我需要使用上面答案的组合。

一,要查看我运行以下命令的所有文件(感谢@armin.midel):

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

使用以下命令删除文件(感谢@s.d.):

git update-index --no-assume-unchanged <file>


0
投票

右键单击所需的文件,然后转到团队/高级/不假设不变。

就我而言,这已经足够了。

© www.soinside.com 2019 - 2024. All rights reserved.