1

我正在尝试将 git 存储库设置为服务器存储库,以便用户签入和签出他们的更改。

我正在尝试做一个 poc,以便本地和远程存储库都在一台机器上。

这是我为创建存储库(作为远程服务器存储库)所做的一切:

  • 使用 GIT Gui 创建了一个存储库(现在我有一个包含 .git 文件夹的目录)。
  • 运行命令git --bare init --shared myRepo.git使其裸露以推送到存储库
  • 现在我使用 Windows 共享和安全性共享了 myRepo.git 文件夹。
  • 然后我将此共享文件夹映射到网络驱动器 z:

在位置 d:/myrepository 我使用 GIT Gui 创建了一个存储库(本地,将在所有将签入和签出服务器的机器上)。

在这里,我的一个新蜜蜂 GIT 用户出现了。我尝试了各种可能有意义也可能没有意义的事情。请告诉我为什么我尝试的东西是对还是错,如果你能帮我解决。这是我在 local(myrepository) 上尝试过的:

$ git clone \\z:\myRepo.git 
Cloning into 'myRepo'...
ssh: \\z: no address associated with name
fatal: The remote end hung up unexpectedly**

$ git clone file:///z:\myRepo.git
Cloning into 'myRepo'...
fatal: 'z:myRepo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly**

$ git clone file:///myRepo.git
Cloning into 'myRepo'...
fatal: 'C:/Program Files/Git/myRepo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly**

$ git clone git@\\z:\myRepo.git
Cloning into 'myRepo'...
ssh: \\z: no address associated with name
fatal: The remote end hung up unexpectedly**

$ git clone ssh://git@\\z:\myRepo.git
Cloning into 'myRepo'...
ssh: connect to host  port 22: Bad file number
fatal: The remote end hung up unexpectedly**

$ git clone ssh://z:\myRepo.git
Cloning into 'myRepo'...
ssh: connect to host  port 22: Bad file number
fatal: The remote end hung up unexpectedly**

$ git clone ssh://z:\myRepo.git
Cloning into 'myRepo'...
ssh: connect to host  port 22: Bad file number
fatal: The remote end hung up unexpectedly**

$ git clone \\z:\myRepo.git
Cloning into 'myRepo'...
ssh: \\z: no address associated with name
fatal: The remote end hung up unexpectedly**

$ git clone ssh://git@172.16.70.177/git1/myRepo.git
Cloning into 'myRepo'...
ssh: connect to host 122.16.30.127 port 22: Bad file number
fatal: The remote end hung up unexpectedly**

请告诉我需要做什么才能使其工作。

谢谢,玛雅克巴特拉

4

2 回答 2

0

使用 git bash,它应该是:

cd c:/path/to/parent/folder
git clone z:/myRepo
# or
git clone file:///z:/myRepo.git

这假设目录“”中已经不存在 repo 文件夹c:/path/to/parent/folder,repo 即将被克隆。

使用 cmd 会话:

git clone z:\myRepo

git 1.9/2.0 (Q1 2014)不同,您可以为克隆的目的地指定一个尚不存在的路径。

所以:

git clone z:/myRepo c/path/to/parent/folder/myRepo

即使 ' parent' 和 ' folder' 是两个尚不存在的目录,它也会起作用。


Windows 上的“ git clone $origin foo\bar\baz”无法创建前导目录(即“ mkdir -p”的道德等价物)。

参见最近 GitHub 员工Michael Haggerty ( )的提交 0f52740,2013年 11 月成名,基于Sebastian Schuberth ( )补丁 mhaggergit imergesschuberth

safe_create_leading_directories(): 在 Windows 上,\可以分隔路径组件

从 Windows 的 cmd.exe 克隆到“foo”尚不存在的目录“C:\foo\bar”时,Git 会抛出如下错误

fatal: could not create work tree dir 'c:\foo\bar'.: No such file or directory

通过不将特定于平台的目录分隔符硬编码到 safe_create_leading_directories() 中来解决此问题。

这个补丁,包括它的全部提交信息,来自Sebastian Schuberth ( sschuberth)的一个补丁。

于 2014-01-31T06:46:34.633 回答
0

试试这个:git clone z:\ 如果你使用 git bash: git clone /z

在这种情况下,您需要了解更多关于 DOS 的知识,而不是 Git。DOS 文件路径就像我在上面显示的那样。

PS:一个 git 存储库类似于这样:

COMMIT_EDITMSG HEAD           config         hooks          info           objects        refs
FETCH_HEAD     ORIG_HEAD      description    index          logs           packed-refs
于 2012-08-29T06:08:33.923 回答