私は分散バージョン管理システムに少し慣れていないので、Mercurialのマニュアルを読んでいて、タグ機能を使用してリリース番号をマークできることを理解しました。たとえば、v1.0や別のv1.1というタグなどです。 。
ブランチについては、他の開発者の邪魔をせずに新しい機能を追加し、すべてが正常になったらデフォルトのブランチとマージするために使用されます。
そうですか?
お知らせ下さい。ありがとう。
私は分散バージョン管理システムに少し慣れていないので、Mercurialのマニュアルを読んでいて、タグ機能を使用してリリース番号をマークできることを理解しました。たとえば、v1.0や別のv1.1というタグなどです。 。
ブランチについては、他の開発者の邪魔をせずに新しい機能を追加し、すべてが正常になったらデフォルトのブランチとマージするために使用されます。
そうですか?
お知らせ下さい。ありがとう。
ほとんどの場合、Mercurialもほぼ理解しているgitの人々から回答を得ているようです。
主な違いは、gitではブランチ名がチェンジセットの不可欠な部分ではないことです。これは、チェンジセットがたまたま存在する場所です。Mercurialでは、NamedBranchの名前は永遠にその一部です。これにより、Mercurialよりもgitを知っている人は、2つの正しくないことの1つを言うようになります。
hg branches
出力が非常に大きくなる可能性があります。これはすべて、 OJ(私が賛成した)が最初に回答したように、SteveLoshのMercurialでの分岐ガイドに美しく綴られています。
要約すれば:
もちろん、どちらのツールもどちらの方法でも使用できます。「正しい」というよりも、規範に関するものです。
理解を明確にするために、以下をお読みください(水銀関連)。
それはあなたの視点に依存する質問です。gitでは、ブランチは多くの目的で使用されます(つまり、1つは開発です)。実際、gitのすべてはブランチです。また、ブランチごとに異なるタグが存在する場合があります。
ブランチとリリースについて多くのことを説明しているので、このgreadチュートリアルを読むことをお勧めします。
gitに関する2つの答えは、タグはリリースに適しており、ブランチは新機能に適しているということと正しく一致していますが、その理由は実際には説明されていません。
gitタグは、特定のコミットを永続的に指します。これは、リリースのようにマイルストーンをマークする場合にのみ有効であることを意味します。
一方、ブランチはチェックアウトしてコミットできます。つまり、ブランチはその新しいコミットを指すように進みます。これにより、ブランチはgitで動作するようになります。コミットを行うときはいつでも、適切なブランチをチェックアウトして、進行状況を記録する必要があります。これには、あなたが言うように、新機能だけでなく、他の作業も含まれます。
Mercurialの状況はほとんど同じですが、分岐はそれほど軽量ではないため、gitの場合ほど頻繁に分岐することはありません。また、タグの処理方法は少し異なりますが、リリースのマーキングには適しています。
私はMercurialユーザーではありません(私はGitを使用しています)が、Gitワークフローに関する限り、あなたはそれを完全に理解しています。ブランチは、多くの場合1人の開発者が、メインブランチとマージする前に独自のバグ修正/機能に取り組むために使用されます。
タグは通常、メインブランチでマイルストーンにタグを付けるために使用され、多くの場合リリースされます。これにより、コミット番号を使用せずに、その状態に簡単に戻すことができます(Gitでは16進数の長い文字列であり、Mercurialがどのように機能するかはわかりません)。
ゲイリー