2

次のような状況を想像してみてください。bitbucketで動作しているリポジトリがあります。TortioseHGを介してWindows7の別のbitbucketリポジトリからリビジョンをプルしていました。

これで、2番目のプロジェクトがGithubシステムに移動し、そこからプルできなくなりました。

だから私の質問はこのようなものです:どうすればビットバケットで新しいリポジトリを作成できますか?GitHubから変更をプルし、このリポジトリからTortiose HGを作業リポジトリに簡単にプルできますか?

Githubなどは使いたくないので、アドバイスはしないでください。質問に答えてください。ありがとうございました。

4

1 に答える 1

1

理想的なソリューションは、ローカルのMercurialリポジトリを維持し、このローカルリポジトリでのみ既存のビットバケットMercurialリモートリポジトリと連携することです。

Hg-Gitのようなプラグインを使用すると、少なくともMercurialのGitサーバーリポジトリにプッシュおよびプルできるため、GitHubリポジトリからローカルのMercurialリポジトリにプルできます。

代替テキスト

そのローカル(Mercurial)リポジトリから、bitbucketリモートリポジトリで通常どおり作業できます。


OPは以下を追加します:

それは私にとってはうまくいきませんでしたので、gitrepoをhgrepoに転送し、このリポジトリから変更を加えて作業リポジトリにプルしようとしました-しかし、それは次のように述べています:abort:リポジトリは無関係です-しかし、私はそれから多くをマージしました。ここで何か助けはありますか?

これは理にかなっています。両方のリポジトリが別々に開発されている場合、2つの(水銀の)リポジトリを互いにプッシュ/プルすることはできません。
これは、ページの下部にある「Mercurialについて」で確認されており、ブログ投稿「Mercurialでできないこと:サブツリーリポジトリ」で詳しく説明されています。

より実用的な解決策は、ネストされたリポジトリとして宣言された2つのリポジトリを使用して1つの追加リポジトリ(「親リポジトリ」)を作成することです。 両方のリポジトリを独立させて、2番目のMercurialリポジトリからGitHubリポジトリにプッシュバックできるようにします。

GitHubにプッシュバックする必要はないが、共通ファイルをマージする1つのリポジトリが本当に必要な場合は、「Mercurialとの無関係なリポジトリからのマージのヒント」を参照できますが、それははるかに複雑です。

私はむしろ:

  • 両方のリポジトリを分離してください
  • 最初のファイルから、2番目のファイルにマージする必要のある共通ファイルを削除します。
  • これらの共通ファイルをレポートして、2番目のファイルにマージします。
于 2011-01-01T14:38:14.307 に答える