将现有的 Git 仓库推送到 Gitolite。

14

我已在Ubuntu服务器上安装了gitolite,并且可以添加用户、创建空仓库、克隆空仓库、添加文件,本地提交后使用git push origin master将其发送到gitolite。

我也可以在XCode4中创建一个项目,带有自己的git存储库,并在本地提交更改。

现在我想在gitolite中再创建另一份副本(可能供他人使用,但也可以作为另一份副本)。这就是我卡住的地方,而我对git完全是新手(只真正使用过XCode git功能)。有谁能指导我吗?

3个回答

18

您需要向现有仓库添加另一个远程仓库:

git remote add newremote git@gitolite.com:gitolite_repo

以下这些值将根据您的需求进行更改:

  • newremote是新远程的名称(类似于已经使用过的origin)。
  • git是用户名。
  • gitolite.com是服务器地址。
  • gitolite_repo是您想要使用的 gitolite 中的仓库。

当您想要推送到origin时,可以像以前一样操作。当您想要推送到新的远程时,只需执行以下命令:

git push newremote branch

2
我在第一个命令中使用了存储库名称而不是分支名称。 - Zeophlite
11
在此之前,必须将仓库添加到gitolite管理员配置中,并赋予适当的访问权限。或许值得一提。 - cfi
4
在某些情况下,将“--all”选项添加到“git push”命令中可能也会有所帮助。 - samoz
谢谢。这非常有用和高效。 - shgnInc
git push --all 在旧的 gitolite 文档中提到了,没有 移动 repos - icc97
这似乎比官方文档中的更容易和更清晰。 - Eric Duminil

3
  1. 创建新的Git仓库(在gitolite中,“bare”是默认值)可以使用相同的名称也可以更改名称
  2. 克隆要导入的仓库
  3. 在克隆的仓库中打开CLI并更改远程url,例如:

    git remote set-url origin yourGitoliteUser@your.gitolite.server:YOUR_NEW_REPO

  4. 运行:

    git push


3
使用User1578提供的信息,我成功将一个现有的repo添加到我的开发服务器的gitolite repo中。
步骤如下:
- 将repo和pub key(如果需要)添加到gitolite中。 - 编辑本地的.git/config文件 - 修改[remote "origin"]的url为我的gitolite repo。 - 运行git push origin master命令。
你的设置可能不同,但我不需要(也不想要)另一个分支/远程。旧的origin远程已经失效了,所以我不需要保留它。希望这能帮助其他人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接