【问题标题】:How do I create a '.git' file folder from an existing git repository?如何从现有的 git 存储库创建“.git”文件夹?
【发布时间】:2014-03-18 22:56:24
【问题描述】:

我有一个名为“shop”的 git 存储库,其中包含远程“oldserver.com”

remote.origin.url=git@oldserver.com:shop.git

如何从我的本地存储库创建shop.git 文件夹,以便将其加载到我的“newserver.com”(使用 gitolite 或 gitosis)上,以便我们可以将其用作新的遥控器?

【问题讨论】:

  • 没有 .git 文件这样的东西。 “shop.git”是旧服务器上远程存储库的名称。如果您想将新服务器用作远程服务器,只需在那里创建一个存储库。你也可以称它为“shop.git”,或者你可以称它为完全不同的东西。
  • 用 gitosis 代替 gitolite 有什么好的理由吗?
  • 我只是说它是这样调用的,因为我在搜索时遇到了困难。我想很多其他人也会有同样的问题。
  • gitosis 与 gitolite:stackoverflow.com/a/10888358/1870481

标签: git gitolite gitosis


【解决方案1】:

如果我正确理解了您的问题,那么您拥有三个存储库:

  • oldserver.com 上的远程存储库,用于托管您的代码
  • newserver.com 上的远程存储库,您现在要在其中托管您的代码
  • 本地存储库,其中 oldserver.com 定义为远程“源”

假设您已经将 oldserver 中的所有内容提取到本地存储库中,并且您已经在 newserver 上的 gitosis 中创建了新存储库,并且您配置了 gitosis 以允许您访问该新存储库,您可以这样做:

git remote add newserver git@newserver.com:shop.git
git push newserver master

如果你有任何其他分支或标签,也只需推送它们。


如果您需要在 newserver 上手动创建存储库,您可以使用:

git clone --mirror git@oldserver.com:shop.git

在这种情况下,不需要推送任何东西。

【讨论】:

  • 是的,我需要在 newserver 上手动创建存储库。我必须在哪里输入 git clone --mirror?在 newserver 的 gitolite 文件夹中?
  • 在新服务器上,gitosis 托管它的存储库的位置。
  • 为什么不选择git clone --bare 选项?
  • 详情请阅读git help clone。 (大部分时间没有太大区别。)
  • 我认为如果旧的来源不再存在来镜像它,则需要 clone --bare 选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 2015-05-07
  • 2015-09-29
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多