我和我的同事正在考虑尝试git,看看我们是否可以轻松转向它。我们在仅限Windows的环境中工作。在我们自己的机器上,我们已经将ging设置为mingw32和SmartGit作为gui客户端。
是否有一种简单的方法更多地基于共享文件夹的概念而不是“托管服务器”的概念?例如,我们想在局域网上共享的文件夹上托管一个git存储库,在我们的机器上克隆它,看看如何将我们的更改推送回该文件夹,合并它们等等。
我们的第一个问题是从局域网克隆。当然git不识别像\\mymachine\shared\repo
这样的路径
如何从我们的方法开始?是可行的吗?有什么建议?
提前致谢。
编辑
正如所建议的那样,命令行方法起作用。我们还必须反转斜线,以便git clone //machine/directory/repository
做到这一点。现在,我的同事有一个本地副本工作,做了一些更改......如何将它们推回到共享文件夹?
在本地路径上推送和获取工作,我们已经启动并运行我们的测试。谢谢你们!
我的建议稍微回避了你的努力,但我一直在使用Mercurial与你在这里描述的方法完全相同,如果不是计划改变,我鼓励你尝试使用TortoiseHg。 Mercurial与基于文件路径的存储库一起工作的方式与“服务”存储库的工作方式完全相同(例如,它会将\\server\shared_repo\repo_path
识别为要从中克隆的有效存储库路径。)
另外一点,据我所知,Mercurial的Windows支持相当远,而git仍然存在一些边缘兼容性问题(虽然看起来你已经解决了在Windows上使用git的许多最大挑战)
对于纯命令行解决方案,您是否尝试过
git clone file:///local/path/to/repo-name.git
在你的情况下:
git clone file:///\\mymachine/shared/repo.git
它应该工作得很好。
2014年8月更新(4年后),Git 2.1
Eric Sunshine和Commit c2369bd的Cezary Zawadka (czawadka
)意味着现在更简单的UNC路径:
埃里克阳光修复
mingw_offset_1st_component()
为UNC“foo
”持续“//machine/share/foo
”,cf this thread。
所以这应该工作:
git clone //mymachine/shared/repo.git
我们使用TortoiseGit。它接受的URL是// machinename / shared / repo。
我的帖子提供了使用Windows共享创建分布式git存储库的分步指南。我发现一个Windows共享适用于小项目。
“我在家里使用了几台不同的计算机,我想设置GIT,我可以从任何一台计算机上访问我的代码。我花了一些时间,因为我太习惯使用客户端 - 服务器模型了将一台机器指定为存放存储库的“服务器”,其他一切都是客户端。相反,GIT似乎更像是一个合并工具,每个本地副本都是它自己的“主机”。一旦我明白了,它就证明了设置GIT非常简单,只需要GIT本身和SSH“。
要了解更多信息,请访问以下链接:http://blog.lazyhacker.com/2010/04/setting-up-git-for-home-network.html