2

次の問題があります。私は元々hg-gitを使用してgithubからクローンを作成したリポジトリを持っていますが、それをMercurialで開発してきました。元の開発者もリポジトリを更新し続けるので、複数のヘッドがあり、TortoiseHgを使用して好きなものをマージします。これは非常にうまく機能します(hg-gitはここでは違いがないと思います)。ただし、次の問題があります。バージョンをBitBucketにプッシュし、3つのブランチがあります。

3デフォルト

私はこれと完全に混乱しています。gitのブランチをHgのブックマークにすべきではありませんか?では、なぜBitBucketはブックマークではなくブランチをサポートするのでしょうか。Hgのブランチとは何なのか、実際にhg branchは1つしかリストされていないのに、なぜ3つあるのかわかりませんdefault。または、実際にはブランチではなくブックマークです。gitユーザーを混乱させないように、BitBucketだけでこのように名前を付けていますか?しかし、これはHgリポジトリ(最初に作成したときにHgに設定されています)であり、gitを使用していません!

試してみるhg heads -qと、まったく同じ結果が得られます。

235:03d08bcf3144
233:d7fbd581b9e1
227:abda0dc38b93

それで、それは実際にBitBucketがブランチと呼ぶものの頭ですか?そうですか、デフォルトやフォーク元など、Gitのブランチのように名前を付けるにはどうすればよいですか?

私が考えていたアイデアの1つは、各ヘッドにブックマークを作成することでした。push -BそれぞれをBitBucketに変換する方法を見つけました。これで、次のようになります。

6ブランチ

これで意味がわかり始めましたが、3つのデフォルトで何ができるでしょうか。なぜ彼らはそこにいて、実際には何ですか?Hgのブランチ、ヘッド、またはブックマーク?

また、BitBucket設定に1つしかないのはなぜですか?

設定で1

4

2 に答える 2

1

単一の名前付きブランチ「デフォルト」に 3 つのヘッドがあり、これらの 3 つのヘッドはブランチです-匿名ブランチ

「デフォルト」内のこれらのブランチを削除したい場合は、BitBucket にプッシュする前に、ローカル リポジトリにマージ ヘッド (2 つのヘッド - 独自のラインとアップストリームからプル: 履歴がないとわかりません。

于 2013-01-01T05:52:45.473 に答える
-1

あなたはすでにA Guide to Branching in Mercurial を読んでいるでしょう。これは、さまざまな「種類の mercurial ブランチ」の概要です。

そのため、通常、git ブランチは hg ブックマークに変換されます。つまり、1 つの (未) 名前付きブランチ「デフォルト」で 1 つの hg リポジトリを使用し続けることです。このデフォルト ブランチには、「git ブランチ」ごとに 1 つのブックマークがあります。

現在、bitbucket の問題は、その「hg ブックマーク」サポート (現在) が「git ブランチ」サポートほど完全ではないことです。

したがって、あなたの執筆時点では、ブックマークはまったくサポートされておらず、(匿名の) ヘッドのみがサポートされていました。ほとんどのブックマークはヘッドでもあるため、ヘッド/ブックマークごとに 1 つのハッシュを確認できます。ただし、一部のブックマークはヘッドにありませんが、それらのコミットはすべて別のブックマーク/ヘッドに含まれています。これらは bitbucket では完全に見えませんでした。

現在、ブックマークはコミット ビューに (名前とともに) 表示され、ドロップダウンで選択できます。「ブランチ」タブには表示されません。また、通常、ブックマークのプル リクエストを開くこともできません。ただし、ヘッドであるブックマークの場合は、そのヘッドのプル リクエストを開くことができます。

関連項目: bitbucket の問題: hg ブックマークからプル リクエストを作成できない

于 2013-10-11T12:09:33.630 に答える