移动 git 服务器:我应该让 repos 保持裸状态吗?

移动 git 服务器:我应该让 repos 保持裸状态吗?

我正在将一堆公司 git 存储库从旧主机拉到我们公司的 git 服务器。我首先git clone将旧存储库放入新服务器上的存储库目录中。很快我们将把旧主机的 DNS 指向新服务器。

我的问题是:在切换之前,我是否应该将新存储库设为裸存储库,或者它们是否可以按原样运行(正常的、带有.git/目录的非裸存储库)?我猜是前者,但我希望有人真正了解这一点来确认。

答案1

就像 voretaq7 所说的那样。是的,非常建议这么做。

GitMagic ch3有一个很好的解释说明为什么要使用裸仓库。

裸存储库之所以如此命名,是因为它没有工作目录;它只包含通常隐藏在 .git 子目录中的文件。换句话说,它维护项目的历史记录,并且从不保存任何给定版本的快照。

裸存储库的作用类似于集中版本控制系统中的主服务器:项目的主目录。开发人员从中克隆您的项目,并将最新的官方更改推送到其中。通常,它驻留在除了传播数据之外几乎不做其他事情的服务器上。开发发生在克隆中,因此主存储库可以没有工作目录。

为了使过渡更容易使用:

git clone --mirror

StackOverflow 上有一篇讨论git clone --mirror 和 git clone --bare 之间的区别

答案2

你不需要使它们成为裸存储库,但我会强烈考虑这样做以保持外观一致性(git“服务器”有一个裸存储库,git“客户端”有一个带有 .git 目录的检出)。

如果没有其他事情,备份就更少了。

相关内容