Git的Windows上,它是真正的分布式?(Git on windows, is it truly

2019-09-30 08:57发布

我刚刚开始使用Windows平台上的饭桶。 我已经mysygit安装并扎了几个打嗝我“git'ing远好听。

但是,我必须失去了一些东西,因为我不知道如何将两个msysgit客户在不同的Windows机器可以直接推拉到对方?

我是一个完整的Linux小白,但我想我可以看到SSH东西允许在Linux发行版。 然而,msysgit客户端只是似乎是在Windows的其他命令的命令提示符并没有窗户的服务元素。

如果我尝试git clone 'MyMatesPc'谁去监听到另一端这个请求?

我可以看到,如果你有在Linux(或Cygwin的)一个“中央”服务器运行git,你可以将它们推到“中央”回购从一台机器,然后拉下来到另一共享的提交。

这实际上意味着,你不得不用一个中央服务器。

我没有问题,这一点,但要检查,我不缺任何东西!

Answer 1:

您可以使用本地协议 :一个简单的共享路径是够两个PC上的两个Git仓库在同一个局域网上相互推/拉。
没有必要(在这种情况下)的“中央”服务器。


正如诺埃尔·肯尼迪在评论中指出,他不得不之前执行本地驱动器号映射到远程回购: git clone file:///z
这是最安全的路径,因为UNC路径并不总是与msysgit的某些版本的支持 。

您可以使用UNC路径与最近msysgit版本虽然,像一个Git bash命令:

$ cd /c/temp
$ git clone //remote-host/share/path/to/repo.git

(注意“的/ ”的视窗,而不是“ \ ”)

在DOS会话,加入后mingw/bin的路径,它可能工作太(即使用一个UNC路径,而不是一个映射驱动器)

C:\temp>set PATH=%PATH%;c:\msysgit\bin;c:\msysgit\mingw\bin
C:\temp>git clone \\\\remote-host\\share\\path\\to\\repo.git

更新2014年8月(4年后),2.1的Git

提交c2369bd由Eric阳光和Cezary Zawadka( czawadka )是指一个简单的UNC路径现在的工作:

Windows系统:允许使用UNC路径git仓库

埃里克·阳光固定mingw_offset_1st_component()始终如一地返回“ foo ”的联合国军司令部“ //machine/share/foo ”,比照这个线程 。

所以,现在应该工作:

git clone //mymachine/shared/repo.git


Answer 2:

这是关于一个很普遍的误解使用Git,独立于msysgit问题的开发工作流程(许多之一)。

Git是在分布式开发,没有档案库有任何特别的设计或结构,使得它比任何其他更权威的 - 你可以做任何你会与当地的一个中央存储库做的,从这个角度看,他们都是平等。

例如在Linux内核中,有数百种不同,公共仓库的:一般莱纳斯被视为权威的一个,并在kernel.org的释放从他的树被切断,但很多人或项目使用或维护其他树木(的,而且由于Git的这种支持存在追踪发生在Linus的树开发(或任何其他的树很少阻抗不匹配或架空“叉”,虽然这个词有一定的内涵) - 现在看到的图案)。

许多项目都使用一个中央存储库,因为这是一个协作很好理解的模型,或者是因为它适合在现有的持续集成设置 - 和Git是一样适合这种风格发展 - 但是这是一个工作流决定,而不是一个强制通过GIT中本身(或甚至有利的)。

至于msysgit或Cygwin的关注,你应该通过这些使用ssh没有问题的,也有腻子作为一个本地的Windows客户端使用SSH协议 - 它绝不是特定于UNIX主机。 它也很容易使用本地Git协议,或HTTP拉以及(推是另一个问题)。 (作为VonC说,你可以从本地资源库拉一样,所以如果你有一个网络/ Samba共享或任何其都是一样的GIT)。



Answer 3:

有很多的方法来处理克隆库,取决于两台机器之间的连接。 如果你想避免在Windows上站着一个Git服务器的麻烦,那么你可以存储上的共享目录的Git仓库,并使用访问这些file:协议。 根据您使用Git的客户端,您可能需要到共享目录映射到一个驱动器号。



Answer 4:

git的服务器组件尚未很好地支持win32上,恕我直言。

没有说你无法通过电子邮件从拿人民的补丁,并把它们应用到你的资料库。

此外,分布式版本控制的一点是,你可以选择使用远程存储库同步,你不必。 没有什么是从世界上使用您的断开连接的PC上任何地方的git(包括海洋中或远程沙漠)阻止你。



文章来源: Git on windows, is it truly distributed?