【问题标题】:How to make a DISTRIBUTED repository on my own server如何在我自己的服务器上创建分布式存储库
【发布时间】:2018-12-05 09:42:08
【问题描述】:

this answer 中所述,当您拥有 github 存储库时,只有您可以推送到存储库(当然其他人可以克隆它并推送到自己的存储库,但这不是本问题的主题)

我相信这被称为分布式模型。无论如何,我的问题是,如果不使用 github(或其他),我如何使用 git 在我自己的网络中创建这样的存储库?这可能吗?

重要编辑:

首先我要感谢 jxpp 的回答。我想防止这个问题被误解并标记为“可能重复”(因为它已经完成)没有阅读问题

让我强调一下分布式模型。 正如 jxpp 所写的那样,我已经知道如何制作一个集中式存储库(裸机)。我想要实现的是一个类似于github中使用的分布式模型。我将在这里解释什么是分布式模型。

在分布式模型中,您有一个存储库(与集中式模型相同),您可以在那里获取和推送。但是,其他用户无法推送到该存储库。他们只能从那里取。 其他用户可以做的是克隆该存储库并将他们自己的更改和提交推送到该克隆存储库。然后他们可以要求将他们的更改合并到第一个主存储库中,在这种情况下,您并且只有您可以决定将这些更改合并到主存储库。我相信这就是 github 的工作方式,我想在我自己的服务器上重现它。

【问题讨论】:

  • @phd 我读了“可能的重复”。这个问题已经过去了。我已经知道如何创建存储库。我的问题清楚地说是“分布式模型”
  • 我也阅读了搜索中的问题。没有解决这个问题

标签: git github


【解决方案1】:

在文件夹中运行 git init --bare 以创建一个裸仓库。这是一种特殊类型的 repo,它没有任何 repo 文件的工作副本,并且可以被许多用户用来推送和拉取。

您可以像与 github(或类似)存储库交互一样使用它。您将其添加为遥控器,然后您和任何其他有权访问它的人都可以使用它。

【讨论】:

  • 谢谢。我编辑了问题以更清楚地说明我想要实现的目标
  • @KansaiRobot 我读了你的编辑。你想要的可以通过一个裸仓库来实现,你可以通过 ssh 密钥和文件权限限制其他人的访问,并通过钩子实现你想要的行为。
猜你喜欢
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 2020-12-15
  • 2022-01-22
  • 1970-01-01
  • 2018-01-31
相关资源
最近更新 更多