web-dev-qa-db-ja.com

既存のgitプロジェクトをGitLabにインポートしますか?

リポジトリ "ffki-startseite"を作成したGitlabのインストールアカウントを持っています。

さて、すべてのコミットとブランチを使ってリポジトリgit://freifunk.in-kiel.de/ffki-startseite.gitをそのリポジトリにクローンしたいので、自分の範囲で作業を始めることができます。

どうやってインポートできますか?

126
rubo77

課題、プルリクエストWiki、マイルストーン、ラベル、リリースノート、コメントなど、プロジェクトをGitHubからGitLabに移動する

GitLab Docsには詳しい説明があります。

https://docs.gitlab.com/ee/user/project/import/github.html

tl; dr

  • GitLabユーザーにマッピングしたいGitHubユーザーが、以下のいずれかであることを確認してください。

    • GitHubアイコンを使用してログインしたGitLabアカウント - または -
    • GitHubユーザーの公開Eメールアドレスと一致するEメー​​ルアドレスを持つGitLabアカウント
  • 上部のナビゲーションバーから、[+]をクリックして[新しいプロジェクト]を選択します。

  • 「プロジェクトのインポート」タブを選択してから、「GitHub」を選択します。
  • 最初のボタンをクリックしてGitHubリポジトリを一覧表示します。 GitLabアプリケーションを認証するために、github.comのページにリダイレクトされます。
  • Gitlabhqを承認をクリックします。 GitLabの[インポート]ページにリダイレクトされ、すべてのGitHubリポジトリが一覧表示されます。
  • インポートするリポジトリの選択に進みます。

しかし詳細とフックについては GitLab Docsページ を読んでください!

(それほどではありません)

2
rubo77

私のコンピュータ上でローカルに実行される次のコマンドを介して、私のプロジェクトとすべてのコミット、ブランチ、タグをgitlabに完全にエクスポートすることができました。

私の例を説明するために、gitlabにインポートしたいソースリポジトリとして https://github.com/raveren/kint を使用します。あらかじめgitlabにKintという名前の空のプロジェクト(名前空間raverenの下)を作成し、新しく作成されたプロジェクトのhttpgit urlと表示されています http://) gitlab.example.com/raveren/kint.git

コマンドはOSに依存しません。

新しいディレクトリでは、

git clone --mirror https://github.com/raveren/kint
cd kint.git
git remote add gitlab http://gitlab.example.com/raveren/kint.git
git Push gitlab --mirror

新しいクローンで使い続けたいローカルにクローンされたリポジトリがあるなら、ここで以下のコマンドを実行してください。

git remote remove Origin
git remote add Origin http://gitlab.example.com/raveren/kint.git
git fetch --all

*これはあなたがあなたのリモートマスターをOriginからリネームしなかったと仮定します、そうでなければ、それを反映するために最初の2行を変更します。

136
raveren

新しいgitlabリモートを既存のリポジトリに追加してプッシュします。

git remote add gitlab url-to-gitlab-repo
git Push gitlab master
103
user425495

保つためにすべてのタグとブランチ

このコマンドをexisting Git repositoryで実行するだけです。

cd existing_repo
git remote add gitlab [email protected]:hutber/kindred.com.git
git Push -u gitlab --all
git Push -u gitlab --tags
17
Jamie Hutber

Gitlabが提供する手順は次のとおりです。

cd existing_repo
git remote rename Origin old-Origin
git remote add Origin https://gitlab.example.com/rmishra/demoapp.git
git Push -u Origin --all
git Push -u Origin --tags
15
Rajkaran Mishra

rake gitlab:import:repos は大量インポートに適した方法です。

  • ベアリポジトリをrepos_path/home/git/repositories/group/repo.git)の下にコピーします。ディレクトリ名は.gitで終わり、グループまたはユーザネームスペースの下になければなりません。
  • bundle exec rake gitlab:import:reposを実行する

所有者が最初の管理者になり、まだ存在していない場合はグループが作成されます。

参照: Gitlabに既存のbare gitリポジトリをインポートするにはどうすればいいですか?

これは、1つのレポを新しい場所に移動する基本的な方法です。私はこのシーケンスをいつも使っています。 - bareを指定すると、ソースファイルは表示されません。

Git Bashを開きます。
リポジトリの完全なクローンを作成します。

git clone --bare https://github.com/exampleuser/old-repository.git

新しいリポジトリにミラープッシュします。

cd old-repository.git

git Push --mirror https://github.com/exampleuser/new-repository.git

手順1で作成した一時ローカルリポジトリを削除します。

cd ../
rm -rf old-repository.git
7
git clone --mirror [email protected]:username/repo-name.git

git remote add gitlab ssh://[email protected]/username/repo.git

git Push -f --tags gitlab refs/heads/*:refs/heads/*

それはSSHでそれをすることをお勧めします、httpsは動作しないかもしれません

3
kazerm