源代码树列出了为Bitbucket存储库修改的未修改文件



我刚刚重新安装了我的操作系统,并将我的存储库复制回磁盘。2个Bitbucket, 1个Github。然后,我安装了SourceTree并添加了两个帐户(Github和Bitbucket)。最后,我使用SourceTree的"添加现有本地存储库"功能来添加所有三个存储库。

现在,虽然我的Github存储库看起来一切都很好,但SourceTree列出了两个Bitbucket存储库中的每个文件都被修改过,即使其中大多数没有被修改过。在SourceTree的"文件状态"部分中选择任何可能被修改的文件,将在右侧的diff中显示一个空框。

这是怎么回事?

Edit: DiffMerge确认SourceTree内容被修改的文件与远程相同。

问题是我将我的repo复制到/从一个不支持unix风格权限(ExFat)的驱动器。因此,在往返之后,权限被重置为默认值(777),这被git检测为差异。

777包括执行权限,这是我的文件最初不存在的(它们是666 -读/写)。

解决方案是在我的存储库上运行以下命令,它从所有文件中删除了额外的执行权限:

find . -type f -exec chmod 666 {} +

上面的命令只针对文件,因为文件夹要可遍历需要执行权限。

最新更新