如何将现有的Git存储库克隆到远程Gitolite服务器?

时间:2013-06-26 22:23:31

标签: git gitolite git-clone git-bare

我在远程计算机上使用Gitolite来访问我的存储库。

远程 - >本地

通常一切正常:我在远程计算机上创建一个新的存储库,将其克隆到我的本地计算机并开始工作。

本地 - >远程

现在我有一个不在远程计算机上的本地存储库。我可以使用Gitolite在远程计算机上设置一个新的空存储库,在特殊的 gitolite-admin 项目中编辑conf/gitolite.conf。当我将配置推送到远程机器时,Gitolite会自动创建新的裸存储库。

remote: Initialized empty Git repository in /var/lib/gitolite/repos/test.git/

现在,我尝试使用以下命令立即将现有存储库从本地计算机克隆到远程计算机。

$ git clone --bare test gitolite@server:test.git

此操作失败,并显示以下错误消息:

fatal: destination path 'gitolite@server:test.git' already exists \
       and is not an empty directory.

我打算如何与Gitolite合作?因为它会自动为我创建新的空裸存储库,所以应该有一种从本地机器启动的方法......

2 个答案:

答案 0 :(得分:4)

git clone命令创建克隆。由于您指定的位置gitolite@server:test.git已经是Git存储库,因此您无法在其上创建克隆。这不是你真正想要的。

您需要做的是将您的本地存储库推送到gitolite。假设您位于本地存储库的目录中,可以使用以下步骤将其推送到gitolite:

# Create a *remote* to point to your gitolite repo
git remote add gitolite gitolite@server:test.git

# Push to the gitolite remote and start tracking
git push -u gitolite master

答案 1 :(得分:0)

将新的repo配置为本地远程,然后推送所有分支和所有标记 - presto。