首页 > 解决方案 > 如何在 linux 和 windows 之间使用 git repo

问题描述

我有安装了arch linux的虚拟机。主机系统是windows 10。我已经通过virtual-box quest utills安装了光盘。从 VM 级别,我在共享的 windows/linux 空间中克隆存储库。克隆成功完成。但是在工作目录中创建一些文件会提供一些错误:(gcc 存储库)

error: unable to unlink old 'fixincludes/tests/base/ctype.h': Interrupted system call
error: unable to create file gcc/ada/libgnat/a-chacon.ads: File exists

error: unable to unlink old 'fixincludes/tests/base/sundev/vuid_event.h': Text file busy

在两个 git 客户端(主机和虚拟)中,我都将 longpaths 设置为 true。

如果需要任何信息,请询问。

标签: linuxwindowsgit

解决方案


在使用共享驱动器的两个不同系统之间的同一个非裸存储库(即使用同一个目录)上工作通常不是一个好主意。远程文件系统,即使是像您使用 Virtualbox 这样的系统,也不倾向于提供 Git 想要使用的丰富锁定和功能,当您在 Windows 和 Linux 之间共享时尤其如此。

最好在 Windows 和 Linux 上使用单独的克隆,并使用可以按需推送和拉取的共享裸存储库(而不是同时)。这将防止 Windows 程序对许多文件执行的强制锁定干扰您的 Linux 检出,这似乎是这里发生的事情的一部分。


推荐阅读