最近、gitolite から gitlab と公式の rake タスク gitlab:import:repos に移行しました 私のために働いた。 gitlab 6.1.0 (82f3446) を使用しています。これが私がしたことです:
-
rsyncgitolite からrepositories/{group}/までの裸のリポジトリ .{repository}を必ず置き換えてください を gitolite リポジトリの名前に変更し、gitlab サーバーのホスト名を変更します。rsync -rth --progress repositories/{repository}.git \ example@unixlinux.online:/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 example@unixlinux.online:me/myrepo.git
新しい gitlab に空のリポジトリを作成します。
新しいリポジトリを開発マシンにリモートとして追加します。
$ cd myrepo.git
$ git remote add newRepo example@unixlinux.online:me/myrepo.git
すべてを新しいリポジトリにプッシュします。
$ git push --mirror newRepo
以上です。
このようにして、すべてのブランチとタグが新しい宛先にコピーされました。
これで、複製されたベア リポジトリを開発マシンから削除できます。