Git/GitKraken - 从备份还原仓库后,文件模式更改为未知值(14001)

12

我对Git(Kraken)还是比较陌生。我的逻辑板坏了,所以我不得不从备份中恢复回来并重新安装软件,在一台临时机器上运行,直到我可以把原来的电脑从店里拿回来。

现在,我在Gitkraken中打开了这个仓库,它告诉我我在我的hotfix分支上有2,224个文件更改,而且似乎是所有文件。如果我点击其中任何一个,Diff View面板会显示消息:“文件模式从217更改为14001”和“文件内容未更改。”

我能够在filepermissions.com上将217转换为8进制值,但在14001上没有找到任何信息。

我不是文件权限专家,但217(可能是我之前机器的默认设置,因为我不记得更改过)似乎不是很理想,只有用户写访问权限、组执行访问权限和其他完全访问权限。

有人能告诉我这个14001设置是什么意思吗(这是一台全新的MacBook Pro,而不是正在维修的2015型号)?这个设置比217更好吗(几乎必须这样。。。)?静态网站文件的理想设置是什么,将这些文件模式更改推送会有好处/坏处/中性吗?


你的备份使用哪种文件系统? - Major
好问题...旧电脑运行的是El Capitan,新电脑运行的是High Sierra (APFS/Apple文件系统,显然是macOS High Sierra及更高版本的较新专有文件系统)。文件备份/下载使用了Backblaze。 - Halfacre
2
我在Ubuntu 18.10的ext4文件系统上随机遇到了相同的差异。很有趣能看到是什么导致了这个问题。 - jthegedus
3个回答

10

我遇到了与GitKraken显示“文件模式从217变为14001”的相同问题。我的团队成员使用sudo运行了一些命令,导致文件模式发生了改变。这可能是GitKraken的一个bug - 如果你使用git show -p <commit_hash>命令,你会看到实际的更改是“将文件模式从100644更改为100755”。

权限644是-rw-r--r--,而755是-rwxr-xr-x。大多数文件不应该是可执行的,因此您应该将权限保持为644。

你可以撤销提交,或者使用这个答案中提到的chmod命令。


0

我找到的另一个解决方案是删除本地仓库实例,然后从源仓库重新克隆它。这样可以完全避免更改权限的问题。


0

现在同样适用于 ssh://git@github.com/seL4/camkes-manifest.gitdefault.xml - Axel Heider
这里报告了一个问题,但没有真正的解决方案:https://devrant.com/rants/2302242/dear-git-why-are-you-lying-theres-no-changes-in-that-file-you-say-that-yourself - Axel Heider
谜团揭开了!请查看 https://github.com/seL4/camkes-manifest/pull/10 以获取解释,同时也要感谢 https://dev59.com/S2Uq5IYBdhLWcg3wF8rw ,它让我们能够查看Git的内部结构。对于GitKraken的开发者们的建议是,在GUI中不要报告此差异,这是一个处理遗留问题的内部事务。 - Axel Heider

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接