我们正在使用Eclipse(带有eGit插件),我想在一个共享网络驱动器上托管一个repo,这个驱动器有几个用户具有写访问权。
用户是否都可以指向相同的原始仓库(在共享驱动器上),或者每个用户是否可以将仓库克隆到本地驱动器,处理此本地版本,并根据需要将更改推送到联网原件?
Eclipse似乎允许您从Git仓库“导入”(到Eclipse工作区)一个项目,但是在您选择“共享项目”之前,Git似乎不会监视导入的项目。在此步骤中,工作目录将成为该项目的repo工作目录的工作目录。据推测,共享此项目的所有用户将拥有相同的工作目录,即共享驱动器上的repo。
我不清楚这种影响,但在第一次检查时似乎不是一个好主意!它将如何处理基本问题,例如2个用户试图同时打开同一个文件进行编辑?
感谢。
答案 0 :(得分:7)
每个人都有自己的回购更好。
将当前存储库克隆为裸存储库并将其放在网络驱动器上。
e.g。
git clone --bare /path/to/current/cool_project cool_project.git
将cool_project.git移动到您的网络驱动器,让每个人都可以从中进行克隆。 Bare repos没有工作目录,因此名称,因此可以安全地推送到。
有关详细信息,请参阅Git Pro书籍的第4章 - Git on a Server,特别是chapter 4.2。
答案 1 :(得分:3)
从它的声音来看,你在谈论每个用户通过网络指向git存储库,而不是在每个开发人员的计算机上都有单独的git存储库,然后推送到“中央”存储库。如果我正确地阅读你的问题,这不是利用git提供的优势的好方法。 Git是一个分布式版本控制系统,因此每个人都应该拥有自己的存储库,并将更改推送到您构建CI的中央存储库。