说到GIT,我完全是个菜鸟。在过去的几天里,我只是迈出了我的第一步。我在我的笔记本电脑上设置了一个回购,从一个SVN项目中拉下Trunk(在分支上有一些问题,没有让它们工作),但一切似乎都很好。

现在我希望能够从笔记本电脑拉或推到我的主桌面。原因是笔记本电脑在火车上很方便,因为我每天要花2个小时在路上,可以完成一些好的工作。但我家里的主要机器对发展很有帮助。所以当我回到家时,我希望能够从笔记本电脑推/拉到主电脑。我认为最简单的方法是在局域网内共享代码文件夹,并这样做:

git clone file://192.168.10.51/code

不幸的是,这似乎对我不起作用:

所以我打开一个git bash cmd并输入上面的命令,我在C:\code(两台机器的共享文件夹),这是我得到的结果:

Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

如何以最简单的方式在两台机器之间共享存储库。

还会有其他地方作为正式的存储点,其他开发人员和CI服务器等将从这些地方提取,这只是为了让我可以在两台机器上进行相同的回购。

根据Sebastian的建议,我得到了以下信息:

C:\code>git clone --no-hardlinks file://192.168.10.51/code
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

**编辑-回答**

感谢所有的帮助。我尝试映射一个驱动器,所以我认为我会回去,重试没有映射。最后的结果是:

git clone file://\\\\192.168.0.51\code

这很有效。

谢谢


当前回答

输入绝对路径或相对路径。

例如,下面的第一个使用绝对路径:

(这是在包含作为子文件夹的存储库和备份的文件夹中。还要记住,如果备份文件夹已经包含任何内容,则不会修改备份文件夹。如果它不存在,将创建一个新文件夹)

~/git$ git clone --no-hardlinks ~/git/git_test1/   ~/git/bkp_repos/

下面使用相对路径:

~/git$ git clone --no-hardlinks git_test1/   bkp_repos2/

其他回答

主机名的答案对我不起作用 但这确实起了作用:

Git 克隆 file:////home/git/repositories/MyProject.git/

您可以通过将UNC路径应用到文件协议来指定远程的URL。这需要你使用四个斜杠:

git clone file:////<host>/<share>/<path>

例如,如果你的主机的IP地址为192.168.10.51,计算机名为main,并且它有一个名为code的共享,它本身就是一个git存储库,那么下面的两个命令应该同样有效:

git clone file:////main/code
git clone file:////192.168.10.51/code

如果Git存储库在子目录中,只需追加路径:

git clone file:////main/code/project-repository
git clone file:////192.168.10.51/code/project-repository

输入绝对路径或相对路径。

例如,下面的第一个使用绝对路径:

(这是在包含作为子文件夹的存储库和备份的文件夹中。还要记住,如果备份文件夹已经包含任何内容,则不会修改备份文件夹。如果它不存在,将创建一个新文件夹)

~/git$ git clone --no-hardlinks ~/git/git_test1/   ~/git/bkp_repos/

下面使用相对路径:

~/git$ git clone --no-hardlinks git_test1/   bkp_repos2/

克隆之后,对我来说,推不起作用。

解决方案: repo克隆的地方打开。git文件夹和配置文件。

对于远程源url设置值:

[remote "origin"]
    url = file:///C:/Documentation/git_server/kurmisoftware

我使用file://成功地做到了这一点,但是使用了一个额外的斜杠来表示绝对路径。

git clone file:///cygdrive/c/path/to/repository/

在我的例子中,我在Cygwin for Windows上使用Git,你可以看到,因为我的路径中有/cygdrive/c部分。通过对路径进行一些调整,它应该适用于任何git安装。

添加远程的工作方式相同

git remote add remotename file:///cygdrive/c/path/to/repository/