git可以在团队环境中无远程服务器运行吗?

时间:2018-03-22 07:14:23

标签: git version-control visual-studio-2017 dvcs

Git是一个DVCS,每个本地git用户都拥有该存储库的完整副本。

我正在尝试为我们公司的项目(少于10人的小团队)建立一个存储库。我们选择了git,因此我们不需要设置像SVN这样的服务器。我们在Visual Studio 2017中使用git。它似乎要求我们使用VSTS或其他远程存储库(如GitHub或BitBucket)设置/推送到远程存储库,以便我的队友可以从中进行克隆。

我想在团队环境中只使用本地存储库副本可以git工作吗? (没有像GitHub那样的远程存储库)

我已经在我的机器中本地设置了项目的存储库,如何让我的队友从我这里克隆它(不需要像GitHub这样的远程存储库)?

3 个答案:

答案 0 :(得分:1)

作为this answer的补充:

  • 从/推送到Windows,您可以只使用共享文件夹,或设置服务器。例如like this,但实际上有很多选项,从使用the embedded anonymous server到使用智能http处理程序设置IIS(我不能对此进行任何说明)。
  • 你可以推,特别是如果你没有永久连接,但你应该小心不要惹恼接收者的工作。我建议推送远程参考资料。

例如,如果您在团队成员中注册,则可以按照以下方式向他们推送:

git push teammate1 "refs/heads/*:refs/remotes/kvitas/*"
git push teammate2 "refs/heads/*:refs/remotes/kvitas/*"
....

这与他们从你那里取得的基本相同

答案 1 :(得分:0)

  • 如果你的队友无法访问你的笔记本电脑,他们就无法从你的电脑上克隆git repo。

  • 即使你的队友可以访问你的笔记本电脑,他们也可以克隆这个回购。并且您的队友无法使用相同的分支名称推送到您的本地仓库。

总之,您应该根据自己的情况使用远程仓库,因为有多个用户需要一起工作。

答案 2 :(得分:0)

每个用户都获得了存储库的完整副本,但是在团队中共享修改的规范方法仍然是在中央服务器上托管共享存储库。

与SVN相反,此共享服务器的设置障碍非常低,但是:

  • 共享文件夹或具有ssh访问权限的服务器足以保存repo的副本,该副本可用作共享存储库
  • 下一步是管理您的仓库的一些访问规则(例如:阻止人们在master上执行push -f,...),并且有几个免费的自托管选项来添加此中央服务器上的一种功能,其中两种是:

    • gitlab:附带完整的Web GUI
    • gitolite:minimalistic服务器,包含用户和访问规则,在现有的ssh服务器后运行