在 Linux/Windows 双启动之间在 NTFS 分区上共享 git repo

在 Linux/Windows 双启动之间在 NTFS 分区上共享 git repo

我已经在 stackoverflow 上发布了这个问题,但没有得到答案:点击

由于我在 Ubuntu 上遇到了这个问题,所以我在这里重新发布了我的问题。我希望这不会被禁止。

我正在开发一个可以在 Windows 和 Linux 下运行的 (Qt) 应用程序。因此,我也希望能够在 Windows 和 Linux 下进行开发。

因此,我将我的项目(作为 git repo)存储在我在 Linux(Ubuntu 13.10)下安装的 NTFS 分区上。为了避免编译后的可执行文件的权限问题,我将影子构建目录设置为 Linux 下的主文件夹。

到目前为止,这种方法效果不错。但有些影响让我担心:如果我暂存一些已更改的文件(使用 smartgit),smartgit 不会反映我已暂存它们。它们仍然显示为未暂存。

提交时类似:提交后,提交的更改仍显示为未提交。但在日志中我可以看到它们已提交。关闭并重新打开存储库“解决”了此问题,或者至少是一种解决方法。

但我担心在 Linux 下的 NTFS 分区上使用它可能会破坏我的存储库。或者说,这样使用我的存储库是否不存在有一天会损坏的风险?

答案1

这是因为文件模式。Windows 和 Linux 以不同的方式写入文件,因此对于它们来说,文件始终是“新的”。在您的目录中输入以下内容:

git config core.filemode false

并且文件系统的改变将会从您的索引中消失。

相关内容