2016-11-27 81 views
0

我曾与CVS,SVN,Mercurial ...但每次我尝试用GIT做一些事情时,我似乎不理解它的理念。如何使用本地托管的rhodecode mercurial git存储库

我有一个私人的Rhodecode服务器,我想要一个公共git存储库的副本。

执行以下步骤:

  • 我克隆了公共仓库
  • 其复制到我的rhodecode服务器到一个空的Git仓库
  • 做了另外一个机器
  • 创建一个上一个git克隆分支并做了一些修改
  • 提交
  • 推送:“拒绝更新分支在一个非裸仓库“

如果我作为裸仓库克隆我没有工作副本,所以这似乎也没有解决方案。

为什么我无法将更改推送到服务器? 是否有另一个工作流程获取公共回购进入Rhodecode?

有一些你可以改变忽略这个错误的git选项,但我有一种感觉,这不是一个合适的解决方案。

在Mercurial这样的事情中,这不是问题,但GIT相当神秘。

+0

为什么你需要在你的服务器上的工作副本? –

+0

几乎所有的情况下,使用裸存储库真的*都是最好的,但是如果你有极少的例外情况,Git现在(自2.4.0开始)具有'updateInstead',它与Mercurial非常相似(不完全相同,因为它可以'吨,因为Mercurial缺乏Git的“索引”,但对于大多数实际用途而言足够接近)。 – torek

+0

为什么你需要在你的服务器上的工作副本? 我认为这个问题给了我答案......可能必须将服务器上的版本更改为裸版,这实际上是有道理的。会试试看。 – Waldorf

回答

0

Igal S的问题让我头晕目眩。

互联网上有很多令人困惑的信息,涉及裸露和非裸露的git存储库。 其实看起来这个概念很简单: 一个裸存储库没有工作副本,并且应该是您想要推送更改的远程服务器上的类型。
的soludion很简单:

  • 克隆的公共仓库裸
  • 复制到rhodecode店。

    之后,它按预期工作。
0

为了安全地交换信息服务器端,RhodeCode需要在GIT Bare存储库上运行。服务器端这是允许交换的唯一方法。客户端,您只需以非纯粹的格式获取存储库。

作为RhodeCode团队可以提供更多信息的地方,我们是否有其他任何地方,因此第一次使用这种设备的人更加清楚?

相关问题