2016-11-27 11 views
0

私はCVS、SVN、Mercurialで作業しましたが、GITで何かをしようとするたびに、その哲学を理解できないようです。ローカルのホストされたrhodecode mercurial gitリポジトリでの作業方法

私は個人用のRhodecodeサーバーを持っています。そこで私は公開のgitリポジトリのコピーを持っていました。

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

  • 私は公開リポジトリ
  • をクローン化された私のrhodecodeサーバーにコピーし、空のgitリポジトリへ
  • が作成された別のマシン上のgitのクローン
  • をしましたブランチを更新していくつかの変更を加えました
  • コミット
  • プッシュ:非ベアリポジトリで "

私が裸のリポジトリとしてクローンを作成した場合、私は作業コピーを持っていないので、これも解決しないようです。

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

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

Mercurialのようなものでは、これは問題ではありませんが、GITはかなりわかりにくいです。

+0

なぜあなたのサーバーに作業コピーが必要ですか? –

+0

裸のリポジトリを使用するのは本当にほとんどすべての状況で最適です*しかし、まれな例外がある場合、Git now(2.4.0以降)はMercurialのように動作する 'updateInstead'を持っています(まったく同じではない、 t、MercurialにはGitの「インデックス」がないため、ほとんどの実用的な目的には十分近い)。 – torek

+0

なぜサーバー上に作業コピーが必要ですか? 私はこの質問が私に答えを与えたと思う...おそらく実際に理にかなっている裸のものにサーバー上のバージョンを変更する必要があります。試してみましょう。 – Waldorf

答えて

0

Igal Sからの質問は私に光を照らした。

インターネットには、裸の、または裸のgitリポジトリに関連する多くの混乱した情報があります。 実際にはコンセプトは単純だと思われます: 裸のリポジトリには作業コピーがなく、変更をプッシュしたいリモートサーバ上にあるべきタイプです。
soludionは簡単だった:

  • クローン公開リポジトリとして裸
  • コピーrhodecodeストアにいます。

    この後は、期待どおりに動作しました。
0

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

RhodeCodeチームはどこにいても詳細情報を入れることができるので、これを初めて使用する人にとっては明らかです。

関連する問題