0

私は CVS、SVN、Mercurial を使用してきましたが、GIT で何かをしようとするたびに、その哲学を理解していないようです。

パブリック git リポジトリのコピーが必要なプライベート Rhodecode サーバーがあります。

次の手順を実行しました。

  • 公開リポジトリのクローンを作成しました
  • rhodecodeサーバーの空のgitリポジトリにコピーしました
  • 別のマシンで git clone を行いました
  • ブランチを作成し、いくつかの変更を行いました
  • 専念
  • プッシュ: 「ベアでないリポジトリでのブランチの更新を拒否しています」

裸のリポジトリとしてクローンを作成すると、作業コピーがないため、これも解決策にはなりません。

変更をサーバーにプッシュできないのはなぜですか? パブリック リポジトリを Rhodecode に取り込むための別の作業フローはありますか?

このエラーを無視するために変更できる git オプションがいくつかありますが、これは適切な解決策ではないと感じています。

Mercurial のようなものではこれは問題ではありませんが、GIT はやや不可解です。

4

2 に答える 2

0

Igal S からの質問は、私に光を当てました。

インターネット上には、裸の git リポジトリと非裸の git リポジトリに関連する紛らわしい情報がたくさんあります。実際には、概念は単純なようです: ベア リポジトリには作業コピーがなく、変更をプッシュするリモート サーバー上にある必要があるタイプです。
解決策は簡単でした:

  • 公開リポジトリをベアとしてクローンします
  • それを rhodecode ストアにコピーします。

    この後、期待どおりに機能しました。
于 2016-11-27T16:28:19.840 に答える
0

サーバー側で情報を安全に交換するために、RhodeCode は GIT Bare リポジトリ上で動作する必要があります。サーバー側では、これが交換を許可する唯一の方法です。クライアント側では、リポジトリを非ベア形式で取得するだけです。

これを初めて使用する人にとってより明確になるように、RhodeCode チームとしてより多くの情報を追加できる場所はありますか?

于 2016-11-27T23:15:13.867 に答える