3

我尝试在openFrameworks存储库上工作,但对 git 的行为感到非常困扰。

无论我做什么,文件(并且只有这个)libs/FreeImage/include/FreeImage.h总是被 git 检测为已更改。

当我删除文件并执行git reset libs/FreeImage/include/FreeImage.h时,它仍然被标记为已更改(可能是行尾!?)。

检查属性git check-attr -a libs/FreeImage/include/FreeImage.h打印:

libs/FreeImage/include/FreeImage.h: text: set

我能找到的关于这个文件唯一奇怪的是它有执行权。我假设这来自一些没有禁用文件模式的 Windows 用户。

现在,当我继续取消执行权并提交“新”文件内容时,一切都将从那里开始。但是,我不能在修复提交之前变基,因为 git 总是强制文件“更改”。

有人可以解释发生了什么吗?


编辑:

现在有一个问题 for

4

1 回答 1

0

我认为您正在做某事,我不时遇到类似的问题,OF repo 中有几个文件(Freeimage.h我认为包括在内)。我也对奇怪且不知何故“不可见”的文件更改感到困惑(我永远无法准确指出 git 的更改什么。关于可执行位的有趣花絮,可能就是这样。)

就我个人而言,最后我把它归结为通过 Dropbox 在 ext4 分区的 linux 机器上使用我的 OF 存储库,以及在另一台使用 ntfs 分区工作的 linux 机器上,所有文件都安装为可执行文件。

在我的情况下,总是有助于使这些神秘的变化消失的一件事是 agit stash后面跟着一个git stash pop. 在那之后,我git status总是变得干净。如果这可以解决您的情况,您可以尝试。

如果这真的是可执行位,那么如果在此之后加上一个错误报告(这样我们至少可以跟踪它)将是值得的,现在很明显这会影响多个用户。

于 2013-11-12T23:41:15.000 回答