最近、gitolite から gitlab と公式の rake タスク gitlab:import:repos
に移行しました 私のために働いた。 gitlab 6.1.0 (82f3446) を使用しています。これが私がしたことです:
-
rsync
gitolite からrepositories/{group}/
までの裸のリポジトリ .{repository}
を必ず置き換えてください を gitolite リポジトリの名前に変更し、gitlab サーバーのホスト名を変更します。rsync -rth --progress repositories/{repository}.git \ [email protected]:/home/git/repositories/{group}/
ここでは、
{group}
リポジトリを追加するユーザー グループの名前です。特定のグループがない場合は、root
を選択してください グループ名として。 -
アクセス許可を修正 -
rsync
の場合にのみ必要 ユーザーはgit
ではありません :sudo chown -R git:git repositories/{group}/
-
cd ~/gitlab
-
rake タスクを実行して、すべての新しいリポジトリをインポートします:
bundle exec rake gitlab:import:repos RAILS_ENV=production
管理者としてログインすると、新しいプロジェクトが追加されていることがわかります。
詳細については、http://{your-gitlab-server}/help/raketasks
の「ベア リポジトリを GitLab プロジェクト インスタンスにインポートする」を参照してください。 .
あなたの場合、古い TKL システムにログインし、すべてのベア リポジトリを新しいインスタンスに再同期してから、インポートすることができます。
1 つのオプションは次のとおりです。
<オール>
newRepo という名前のリモートを作成するには、次のようにします:git remote add newRepo gitlab.localhost.com:User/newRepo.git
(末尾の URL をレポの URL に置き換えます)
ChrisAの回答を読んだ後、実際には次の方法でそれを行いましたが、実際にそれを行う方法について少し頭痛がしました。この例では、リポジトリを github から gitlab にコピーして、ソースと宛先を少し明確にしています。
<オール>古いリポジトリを github から開発マシンにクローンします (ベア リポジトリが作成されます):
$ git clone --mirror [email protected]:me/myrepo.git
新しい gitlab に空のリポジトリを作成します。
新しいリポジトリを開発マシンにリモートとして追加します。
$ cd myrepo.git
$ git remote add newRepo [email protected]:me/myrepo.git
すべてを新しいリポジトリにプッシュします。
$ git push --mirror newRepo
以上です。
このようにして、すべてのブランチとタグが新しい宛先にコピーされました。
これで、複製されたベア リポジトリを開発マシンから削除できます。