我希望在一个(Windows)网络共享上存储裸的Git存储库。我使用Linux,并已将该网络共享与CIFS挂载。我的同事使用Windows XP,并已将网络共享自动挂载为网络驱动器(从ActiveDirectory中,不知何故)。我想知道是否可以在两台计算机上同时使用该存储库,而不会出现并发问题。我已经进行了测试,在我的端上可以正常克隆,但是我担心如果我们同时访问同一存储库(push / pull),会发生什么。在git FAQ中有关于使用网络文件系统(以及一些SMBFS问题)的参考资料,但我不确定网络/服务器/Windows/Linux是否有任何文件锁定-我相当确定没有。因此,有没有人在没有服务器和问题的情况下在网络共享上使用过Git存储库?谢谢,Alex。PS:我想避免使用http服务器(或git-daemon),因为我无法访问具有共享的服务器。此外,我知道我们可以从一个推/拉到另一个,但出于备份原因,我们需要将代码/存储库放在共享上。
更新:
我的担忧并不是网络故障的可能性。即使如此,我们也会在本地拥有所需的分支,并且能够编译我们的源代码。但是,我们通常经常提交,并且需要经常进行rebase / merge。在我看来,最好的选择是在共享上拥有一个中央存储库(以确保备份),然后我们都从那个存储库克隆,并用它进行rebase。但是,由于我们经常这样做,我担心如果我们同时push / pull,会发生文件/存储库损坏。通常,我们可以每次访问远程存储库时相互大喊大叫 :), 但最好通过计算机/网络来确保安全。
更新:
我的担忧并不是网络故障的可能性。即使如此,我们也会在本地拥有所需的分支,并且能够编译我们的源代码。但是,我们通常经常提交,并且需要经常进行rebase / merge。在我看来,最好的选择是在共享上拥有一个中央存储库(以确保备份),然后我们都从那个存储库克隆,并用它进行rebase。但是,由于我们经常这样做,我担心如果我们同时push / pull,会发生文件/存储库损坏。通常,我们可以每次访问远程存储库时相互大喊大叫 :), 但最好通过计算机/网络来确保安全。
而且,GIT可能有内部机制来处理这个问题(因为某人可以在你工作的时候向你的一个仓库推送内容),但我还没有找到任何确定的信息。
更新2:
共享驱动器上的仓库将是一个空白仓库,不包含工作副本。