TFSを使用して、いつコードにラベルを付け、いつ分岐しますか?
TFSにメインライン/トランクの概念はありますか?
TFSのラベルは、ファイルのコレクションにタグを付ける方法です。ラベルには、一連のファイルとファイルのバージョンが含まれています。これは、ビルドなどを構成するファイルのバージョンをマークする非常に低コストの方法です。
ブランチは、TFSの別のディレクトリにある(特定のバージョンの)ファイルのコピーと考えることができます(TFSはこれがブランチであることを認識しており、ブランチであったファイルとバージョンを記憶しています)。
エリックシンクが言うように、 枝は子犬のようなものです 。ある程度の注意と給餌が必要です。
個人的に、私は頻繁にラベルを付けますが、分岐することはめったにありません。ビルドごとにラベルを作成しますが、履歴バージョンで作業する必要があること、またはコードのメイン行から分離して作業する必要があることがわかっている場合にのみ分岐します。任意の時点(およびラベル)からブランチを作成できるため、うまく機能し、使用されていないブランチが周囲に存在しないことを意味します。
お役に立てば幸いです。
マーティン。
どのVCSでも、通常、コードのスナップショットが必要なときにタグを付けて、将来の参照として保持します。現在のコードを邪魔することなく、新しい機能を開発したいときに分岐します。
Andrewは、ラベリングは分岐よりも怠惰であると主張しています。ほとんどの場合、怠惰ではなく、実際にはより効率的です。ラベル付けにより、ユーザーはいつでもプロジェクトを取得し、バージョンまたはビルド用に変更されたファイルの履歴を保持し、いつでもコードから分岐してコードを操作し、後でメインブランチにマージできます。 Andrewが言ったことの代わりに、複数のバイナリセットが必要な場合、たとえばQCとDevの開発が同時に行われている場合や、古いバージョンに修正プログラムを適用する必要がある場合にのみ分岐することをお勧めします。
私はいつもレーベルを怠惰な男の枝として見ています。フルソースラベルが必要になるほど重要なことを行う場合は、その作業に関連するすべてのタスクが影響を受けるコードのみで整理された場所にあるように、これをブランチで示すのがおそらく最善です。
ただし、分岐は非常に強力であり、学ぶ価値があります。 TFSは最良のソース管理ではありませんが、最悪でもありません。 TFSは、すべてのブランチが発生するトランクの概念もサポートしています。
ベストプラクティスを読むのに適した場所としてこれをお勧めします -少なくともTFSに関する限り。