29

Gerrit について 2 つの質問があります。

  1. 既存の Git リポジトリを Gerrit の形式に変換またはインポートするにはどうすればよいですか? Gerrit の制御なしで多くのコミットがありました。単純にそれらのコミットを Gerrit プロジェクトにプッシュしたいと考えています。

    それを行うには2つの方法があります。

    1. 既存の裸の Git ディレクトリを Gerrit にコピーしてから、データベースに追加します。それは安全な方法ですか?

    2. すべてのコミットをローカル リポジトリから gerrit リポジトリにプッシュします。

  2. リポジトリを Gerrit から元の Git 形式に戻す方法は? そのために Gerrit の特別な*/for/*ブランチを削除する必要がありますか?

4

4 に答える 4

31

まず、特別な「Gerrit 形式」はありません。Gerrit は通常の git リポジトリで動作します。

  1. Gerrit で新しいプロジェクトを作成します (初期コミットなし)。作成したリポジトリをリモートとして既存のリポジトリに追加し、プッシュするだけです。リポジトリへの直接プッシュ (レビューをバイパス) を許可するように Gerrit を構成して、リポジトリ全体をインポートできるようにすることができます。

    または、Gerrit のリポジトリの場所に直接アクセスできる場合 (たとえば、SSH 経由またはローカル ファイルシステム上)、Gerrit を完全にバイパスして、リポジトリ (Gerrit が作成した場所) に直接プッシュすることができます。ただし、リポジトリの HEAD が更新されたことを Gerrit が認識できるように、後で Gerrit キャッシュをフラッシュする必要があります。

  2. 前述のとおり、「Gerrit 形式」はありません。リポジトリを gerrit からクローンするだけで、すべてうまくいきます。特別なブランチについて心配する必要はありません。

于 2013-02-09T16:08:24.610 に答える
8

多くの GIT プロジェクトを gerrit にインポートしました。私が見つけた最も簡単な方法は、git リポジトリの xy.git ディレクトリを、gerrit が git リポジトリを配置するディレクトリにコピーすることでした。gerrit プロセスの再起動後、新しいプロジェクトが新しいプロジェクトのリストに表示され、説明とアクセス権を編集できます。

于 2013-10-25T11:07:02.237 に答える
6
  1. Gerrit で新しいプロジェクトを作成し、そこに git リポジトリをプッシュするだけです。レビューを回避したい場合は、refs/for/master ではなく master に直接プッシュしてください。これを行うためのアクセス許可を自分自身に追加する必要があります。

    エラー メッセージは、ssh キーを Gerrit にまだインポートしていないことが原因である可能性があると思います。

  2. Gerrit からリポジトリをクローンするだけです。余分なブランチは含まれません。

于 2013-02-09T16:00:11.287 に答える