使用符号链接的Git init

时间:2017-03-09 21:27:49

标签: windows git docker bitbucket symlink

我试图在Docker容器(Windows Nano)的上下文中运行Atlassian BitKeeper。主目录存储在容器的上下文之外。因此,它在其中显示为符号链接。

使用符号链接目录中包含的存储库运行git init会导致错误:

Invalid path '/ContainerMappedDirectories': No such file or directory.

这是关于符号链接的根目录列表部分:

03/09/2017  02:22 PM    <SYMLINKD>     host [\\?\ContainerMappedDirectories\06928B3D-65E2-4BA6-AADB-7851FD273002]

1 个答案:

答案 0 :(得分:3)

我遇到了在Docker容器中运行Jenkins(使用Git)的同样问题。这曾经为我工作,但它在一些Git更新后停止了所以我比较了几个版本,我注意到在容器内工作的最后一个版本是2.11.1。

以下是证明 - C:\ temp是从docker host安装的:

06/06/2017  04:44 PM    <SYMLINKD>     temp [\\?\ContainerMappedDirectories\3090B08B-4EA2-49CB-8C30-227E982EC311]

尝试2.11.1:

PS C:\Program Files\git\bin> .\git.exe --version
git version 2.11.1.windows.1
PS C:\Program Files\git\bin> .\git.exe init C:\temp\git11.1\
Initialized empty Git repository in C:/temp/git11.1/.git/

尝试2.12.1:

PS C:\Program Files\Git\bin> .\git.exe --version
git version 2.12.1.windows.1
PS C:\Program Files\Git\bin> .\git.exe init C:\temp\git12.1\
fatal: Invalid path '/ContainerMappedDirectories': No such file or directory

与MinGit相同:

PS C:\> .\Min\MinGit-2.13.0-64-bit\cmd\git.exe init C:\temp\MinGitRepo\
fatal: Invalid path '/ContainerMappedDirectories': No such file or directory

PS C:\> .\Min\MinGit-2.11.1-64-bit\cmd\git.exe init C:\temp\MinGitRepo\
Initialized empty Git repository in C:/temp/MinGitRepo/.git/

很难说改变了什么,我将深入研究Git changelog,因为现在使用2.11.1对我来说似乎是一个不错的解决方法。让我知道它是否适合你。