有没有办法找到我设置为“假设未更改”的文件?
我修改了几个文件并想要拉取,所以我将它们设置为“假设不变”。现在我已经完成并想要提交,但它们没有出现在 Git Staging 窗口中。
我使用Eclipse 4.4.2。
嗯,它们不会出现在暂存视图中是正确的。来自 git 文档:
当“假设不变”位打开时,用户承诺不更改文件,并允许 Git 假设工作树文件与索引中记录的内容匹配。
如果您想“重新跟踪”更改,请执行
git update-index --no-assume-unchanged <file>
。
在 Eclipse 中,其工作原理如下:右键单击文件 > 团队 > 高级 > 不假设不变。完成此操作后,该文件将显示在 Git Staging View 的 Unstaged Changed 部分。
设置了假设未更改标志的文件带有一个小蓝色复选标记,请参阅首选项 > 团队 > 标签装饰
请参阅 https://bugs.eclipse.org/bugs/show_bug.cgi?id=581862,了解如何实现具有assumeValid集的列表文件的提示。如果有人想贡献一个实现。
除了将这些文件重新置于版本控制之下之外,还有一点可能对您有所帮助。 当您失去对标记为 --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
就是这样。
因为 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>
右键单击所需的文件,然后转到团队/高级/不假设不变。
就我而言,这已经足够了。