当存储库位于 Windows 文件共享上时,对多个用户使用 git 是否安全?

Kla*_*urn 7 windows network-share git

我们是一个不到十人的团队,需要快速建立一个支持基于活动目录的身份验证的 git 存储库。

最简单的解决方案似乎是使用带有 git 存储库的文件共享并使用 unc 路径访问它,例如

git clone //server/share/repo.git
Run Code Online (Sandbox Code Playgroud)

但是,我们有点担心稳健性。当几个人使用同一个 git 存储库并且没有实际的服务器组件在运行时,并发性是否没有问题?

客户端运行 Windows 7,服务器是 Windows Server 2008R2。使用 msysgit 1.8.1.2

(我很清楚还有很多其他的 git 服务器解决方案,但是,特别是考虑到 AD 身份验证的要求,它们设置起来并不简单)

vor*_*aq7 5

我猜你在问 Is this likely to result in repository corruption?

如果是这样,答案是否定的。
如果您使用存储库的设计方式(克隆、工作、提交、推送),这应该可以正常工作,即使推送目标是 UNC 路径(git将其视为如果您正在推送到本地路径,并相应地处理锁定)。
然而,您可能会遇到与权限相关的问题——您需要确保所有应该有权访问存储库的用户都具有适当的 NTFS 权限(组成员身份等)。


您可能还想查看有关在 Windows 上设置 git 服务器的Stack Overflow 问题,看看是否有更简洁的方法适合您。


Gio*_*ldo 5

Git 有自己的锁定管理,您可以使用您喜欢的任何共享存储。

对于一些好用的配置参数,请查看:

http://nelsonslog.wordpress.com/2011/03/12/using-git-on-windows-via-smb/