2016-11-27 133 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團隊可以提供更多信息的地方,我們是否有其他任何地方,因此第一次使用這種設備的人更加清楚?

相關問題