我正在尝试在 Docker 容器 (Windows Nano) 的上下文中运行 Atlassian BitKeeper。主目录存储在容器上下文之外。因此,它在其中显示为符号链接(symbolic link)。
使用符号链接(symbolic link)目录中包含的存储库运行 git init
会导致错误:
Invalid path '/ContainerMappedDirectories': No such file or directory.
这是与符号链接(symbolic link)相关的根目录列表部分:
03/09/2017 02:22 PM <SYMLINKD> host [\\?\ContainerMappedDirectories\06928B3D-65E2-4BA6-AADB-7851FD273002]
最佳答案
我在 Docker 容器内运行 Jenkins(使用 Git)时遇到了同样的问题。这曾经对我有用,但在一些 Git 更新后就停止了,所以我比较了几个版本,我注意到在容器内工作的最后一个版本是 2.11.1。
这是证据 - C:\temp 是从 docker 主机挂载的:
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 变更日志,因为目前使用 2.11.1 对我来说似乎是一个不错的解决方法。让我知道它是否对您有用。
关于windows - 带符号链接(symbolic link)的 Git init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705748/