web-dev-qa-db-ja.com

Bitbucket MercurialリポジトリをGitに変換します。ブランチと履歴を維持します。オンラインソリューション

Bitbucket Mercurialリポジトリ(Hgリポジトリ)をGitリポジトリに変換するにはどうすればよいですか?ブランチとコミット履歴を保持したい。

12
user984003

私は https://github.com/frej/fast-export を見つけました。これはMercurialブランチをGitブランチに正しく移行します(Herg-gitはMercurialでのみ機能しますブックマーク)。

高速エクスポートはローカル(のコピー)リポジトリで機能するため、純粋にオンラインではありません。 Fast-exportには、新しいローカルGitリポジトリを作成して入力する方法の説明があります。

私の場合、Mercurialに複数のブランチヘッドを残していたため、次のエラーが発生しました。

Error: repository has at least one unnamed head: hg r493

「hg strip 493」を使用するか、これらのヘッドを取り除くためにマージを行うことができます。

また、READMEで説明されているように、「著者ファイル」と-Aスイッチを使用してフォーマットが正しくない著者フィールドをマップするために、一部のコミットの著者フィールドを修正する必要がありました。

その後、高速エクスポートはリポジトリを受け入れました。

また、Bitbucket Webインターフェイスを介して新しいBitbucketリポジトリを作成する必要があります。

次に、Bitbucketにプッシュします。この例では、構成済みのSSHを使用してセットアップします。

git remote add Origin [email protected]:<user_name>/<repo_name>
git Push --all Origin
0