将git更改推送到共享的网络驱动器


90

一个四人小组如何使用Git(特别是Windows的Github)将本地更改推送到共享的网络驱动器?

现在(没有Git),我们必须将文件从网络驱动器复制到本地计算机,编辑文件,然后将其重新上传到共享网络驱动器。这是一个艰苦的过程,可能会导致很多错误,但是Git似乎可以帮助我们。

我们可以简单地将Git安装在共享驱动器上然后从那里去吗?

Answers:


123

不知道您是否找到适合自己的东西,但是我有一篇关于如何在Windows网络驱动器上执行此操作的文章:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

从cmd提示符更改为映射的驱动器。

$ cd g:

然后进入您即将成为git仓库的cd。

$ cd脚本

然后创建一个空的git仓库。如果不使用--bare选项,则会遇到问题,因此请不要忽略。

$ git init-裸

现在,如果您还没有本地git存储库,则可以通过导航回本地驱动器,随时随地克隆新存储库。

$ c:

$ cd作品/脚本

$ git clone file:// g:\ scripts

克隆时,您会自动获得一个名为“ origin”的远程服务器,您可以随时在本地进行更改以推送到服务器以安全保存。

$ git push origin master

如果您已经有一个git存储库,并且只想推送到共享驱动器,则可以从本地git目录中执行此操作。

$ git remote add origin file:// g:\ scripts

$ git push origin master


1
谢谢您-我正是在家庭网络上为个人项目做的。
Martin Snyder

我遵循了这些步骤,但是在运行git push origin master错误时出现以下错误:无法生成sh:没有此类文件或目录致命:无法分叉
NickStees

谢谢。花了很长时间才能找到答案
Simon Huckett

对于没有映射共享驱动器的任何人,都可以推(和弹出)来创建虚拟临时驱动器以导航到(请参阅链接
LoJo,

如果不使用--bare,会遇到什么问题?我已经在网络驱动器上拥有一个非裸露的存储库,并且想将其用作远程存储库。
Fractaly

24

目前,我们的团队正是这样做的。每个开发人员都具有以下内容:

  1. 安装在本地计算机上的Git
  2. 访问自己的个人共享驱动器(L:
  3. 访问共享的组驱动器(V:

init -bareV:驱动器上有“远程”存储库(使用设置),每个人的个人L:驱动器上都有一个克隆。对L:驱动器进行所有更改V:,然后将其推上驱动器,然后其他开发者随后将其下拉到L:驱动器上各自的个人存储库中。这可以正常工作,并且减轻了对Git服务器的需求。


好,太棒了!我是否需要首先创建本地存储库,然后在共享驱动器上设置该存储库的远程目录?
user1549303

1
@ user1549303-我们就是这样做的。您可以使用创建本地存储库(我们的L:驱动器存储库)git init,然后v:使用git clone --bare(或创建一个远程(我们的驱动器存储库)git init --bare,然后从中进行推送L:)。
eykanal 2012年

@eykanal-我的团队目前使用一个古老的,可怕的源代码控制库,我们正在寻求切换到git。我们当前的库允许我做的一件事是查看谁签出了文件但忘了签入更改。使用git时,所有存储库都是本地的,那么如何知道是否有人忘记推送到“ v:”呢?
凯文·布坎

3
@KevinBuchan-我建议您发表评论作为新问题。
eykanal 2012年

1
当两个开发人员尝试同时推送到同一共享存储库(例如V :)时,Git会做出何反应?您对并发推送操作有任何问题吗?
Jordi

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.