gitorious から github にインポートしますか?
質問
gitorious リポジトリを github にインポートする方法を試したり、見つけたりした人はいますか?私はすでに github を使用しているので、フォローしたい gitorious リポジトリから github にプルする方法があるかどうかを確認したいと考えていました。
解決
これは、Github 上にリポジトリを作成する通常の方法とどのような違いがあるのでしょうか?
- gitorious からリポジトリのクローンを作成します
- github に新しいリポジトリを作成する
- リポジトリを github にプッシュします
Github は、そもそもリポジトリがどこから来たのかを気にせず、プッシュアップされたものをそのまま受け入れます。
他のヒント
GitHub で新しいリポジトリを作成するとすぐに、Web サイトから 3 つのエレガントなパーソナライズされた手順セットが提供されます。3 つの異なるオプションは次のとおりです。
- 新たなプロジェクトに取り組み始める
- 既存の Git リポジトリをプッシュする - これがあなたが欲しいものです
- 既存の SVN リポジトリをプッシュする
私のユーザー名が ユーザー1 新しいリポジトリは プロジェクト1, 、それは次のようになります。
既存の Git リポジトリ?
cd existing_git_repo
git remote add origin git@github.com:user1/project1.git
git push -u origin master
すでに与えられた回答ではマスターのみがインポートされます。すべてのブランチ、タグなどを含むリポジトリ全体をインポートしたい場合は、次の手順を実行する必要があります。
- 空の Github リポジトリを作成する
--bare フラグを使用して gitorious リポジトリのクローンを作成します。これにより、すべてのブランチ/タグが保持され、作業コピーは作成されません。
$ git clone --bare git://gitorious.org/USER/REPO.git
ディレクトリをローカル リポジトリに変更します。
$ cd therepo.git
--mirror フラグを使用してリポジトリを github にプッシュします。これにより、すべてのブランチ、タグ、履歴などがコピーされます。
$ git push --mirror git@github.com:USER/REPO.git
ローカル コピーを削除します。もう必要ありませんし、何の役にも立ちません。
$ cd .. && rm -rf therepo.git
それが完了したら、次のコマンドを使用してローカル リポジトリを切り替えることができます。 git remote rm/add
上記のようなコマンド。
前の回答は正しいですが、ここでは Gitorious からローカル コピーのリンクを解除するという欠落しているステップを含む、段階的なプロセスを示します。それがないとエラーが発生します fatal: remote origin already exists
Github を新しいオリジンとして追加しようとしたとき。
- Github 上に空のターゲット リポジトリを作成する
- Gitorious からローカルにリポジトリのクローンを作成します
- Gitorious を原点から削除
- Github を新しいオリジンとして追加
- Github にプッシュする
コマンド:
git clone git://gitorious.org/USER/REPO.git
cd REPO
git remote rm origin
git remote add origin https://github.com/USER/REPO.git
git push --mirror https://github.com/USER/REPO.git
明らかに USER と REPO を置き換える必要があります。最後の 2 つのコマンドは、Github リポジトリを作成するときにステップ 1 の後に提供されます。