在Windows上使用Linux符号链接克隆存储库

时间:2014-10-03 07:57:52

标签: windows git vagrant virtualbox symlink

我有以下设置:

  • 运行Windows 8 64x的PC
  • Virtualbox 4.3.12
  • Vagrant 1.6.3
  • 运行Debian 64x的虚拟机

在我的虚拟机上,在与主机共享的文件夹上,我尝试克隆repository containing Linux symlinks

  

vagrant @ vagrant:/ vagrant $ git clone https://github.com/francetv/puppet-cron

     

......解决增量:100%(162/162),完成。

没有做任何其他事情,我最终得到以下差异:文件/.travis.yml应该是指向/.travis/travis.yml的符号链接。

  

vagrant @ vagrant:/ vagrant $ cd puppet-cron

     

vagrant @ vagrant:/ vagrant $ git diff

     

diff --git a / .travis.yml b / .travis.yml

     

--- a / .travis.yml

     

+++ b / .travis.yml

     

@@ -1 +0,0 @@

     

- 特拉维斯/ travis.yml

     

\文件末尾没有换行符

我在尝试配置Vagrant框时遇到此问题,导致配置失败。

我的问题是:克隆存储库后,有没有办法避免这种差异?

1 个答案:

答案 0 :(得分:1)

简短回答:不会.Virtualbox并不真正知道如何处理符号链接,因为它们在Windows上不存在。

答案很长:检查主机上的存储库应该会有所帮助。 git知道如何处理这个问题。您也可以尝试使用Samba或rsync,而不是Virtualbox附带的共享文件夹。

我做过一次(这不是一个很好的解决方案,但有效)是在vm(不是共享文件夹)中设置一个存储库并检出我主机上的相同存储库并将其添加为共享文件夹,比每秒都运行的脚本将东西从共享文件夹复制到访客文件夹中。如上所述,它起作用但是“缓慢”并且偶尔会破裂。