在远程服务器上创建本地git存储库的副本

在远程服务器上创建本地git存储库的副本,git,Git,我已经使用git clone从服务器克隆了一个项目,现在我想将它(所有分支)复制到另一台服务器,以便其他人可以开始使用它。我想我可以简单地手动复制整个存储库,然后发布git config--bool core.bare true并删除.git文件夹以外的所有内容,但我认为这不符合“bare”存储库的条件,我担心这可能会给我带来问题 我希望我可以使用git init--bare创建一个新的远程存储库,并简单地将我的本地存储库推到它上面,但是当我最初从另一台服务器克隆本地副本时,origin似乎阻止

我已经使用
git clone
从服务器克隆了一个项目,现在我想将它(所有分支)复制到另一台服务器,以便其他人可以开始使用它。我想我可以简单地手动复制整个存储库,然后发布
git config--bool core.bare true
并删除
.git
文件夹以外的所有内容,但我认为这不符合“bare”存储库的条件,我担心这可能会给我带来问题

我希望我可以使用
git init--bare
创建一个新的远程存储库,并简单地将我的本地存储库推到它上面,但是当我最初从另一台服务器克隆本地副本时,
origin
似乎阻止了我这样做

  • 在服务器上创建新的裸存储库:
    git init--bare newrepo.git
  • 在本地回购中将其添加为远程回购:
    git远程添加newrepogit://user@server.com/newrepo.git
  • git push newrepo master
    推送特定分支,或
    git push--all newrepo
    推送所有分支
  • 另一种方法是(如您所愿):


    git推送——所有newrepo都应该这样做。太棒了!非常感谢。我会定期重温这篇文章。谢谢:)noob问题:我做了所有这些,成功地推到了遥控器上。但是,当我在服务器上检查/newrepo.git时,我看不到文件。有人知道文件在哪里吗?@orane:这是因为repo是用
    --bare
    选项初始化的。如果没有此选项,将提取代码并创建包含存储库数据的
    .git
    文件夹。这个命令之后看到的只是存储库数据,没有提取的代码。
    git clone --bare /path/to/repo newrepo.git