私はすべてのコードを保持するためにプライベートGitlabインスタンスを使用しています。しかし、私と一緒に仕事をしているほとんどのスタッフは現在Githubアカウントを持っているので、移動してGitlabリポジトリをGithubにミラーリングしたいと思います。
私の状況:
Gitに--mirror
スイッチがあることは知っていますが、これがどのように機能するのかよくわかりません。オンラインで見つけたドキュメントは非常に不安定でした...だから誰かが私を助けてくれたらいいのにと思います。 :)
GitLabには、UIからこれを行うオプションがあります。リポジトリの[設定]-> [リポジトリ]に移動します。
https://gitlab.com/yourUserNameInGitLab/yourRepoName/settings/repository
次に、「リポジトリのミラーリング」オプションを見つけて、展開をクリックします。あなたがしたいことは、「プッシュ」ミラー方向を選択し、このURLを入力することです:
https://[email protected]/yourUserNameInGitHub/yourRepoName.git
この前のStackOverflow 質問は、リポジトリを別のサービスからGitHubに移動する方法を扱い、最初の答えはコマンドラインを介してそれを行う方法を扱い、2番目と3番目はよりユーザーフレンドリーな方法ですが、残念ながらGitLabインスタンスがローカルサーバー上にある場合は機能しません(これはあなたの場合のようです)。
ただし、説明されているように、リポジトリをコマンドラインからGitHubに「インポート」することはできます GitHub docsによる 、これはGitHubとして推奨される方法です 代替手段としてこれを提供します GitHubを使用するインポーターツール(前のSO質問)で強調表示されています)
ドキュメントから取られた手順の要約:
GitLabサーバーからローカルのベアクローンを作成します。
git clone --bare https://githost.org/extuser/repo.git
ベアクローンは完全に複製されており、ファイルを編集するための作業ディレクトリがないので、クリーンなエクスポートです。
そのディレクトリに移動し、--mirror
フラグを付けてプッシュします。 ミラーフラグは、参照(ブランチ/タグ)がGitHubにコピーされることを保証します。
cd *repo.git*
git Push --mirror https://github.com/ghuser/repo.git
最後に、作成したローカルリポジトリを削除します。
cd ..
rm -rf repo.git
別のオプションは、Origin
にURLを追加することです。
git remote set-url --add Origin [email protected]:<USERNAME>/<PROJECTNAME>.git
Originにプッシュすると、元のOrigin(gitlab)と上記で追加されたOrigin(github)の両方にプッシュされます。