2016-11-21 23 views
0

CVSの場合には、両方が同じ意味で使用されています。私はブランチがgit、clearcaseなどの開発の分岐線だと理解しています。CVSの文献はちょっと混乱します。私の理解には、彼らは異なっています。コメントしてください。CVSのタグとブランチの違いは何ですか?それらは同義ですか?

+1

タグのブランチとはどのように重複していますか?私はどちらを使うべきですか?](http://stackoverflow.com/questions/1457103/how-is-a-tag-different-from-a-branch-which-should-i-use-here) –

+0

@EvanTrimboli :その質問はgitについてです - この質問は特にCVSに関するものです。 –

+0

答えは基本的に同じです。 –

答えて

1

これは同義語ではありません。

gitに精通している人は、gitのようにCVSで概念的にはほぼ同じです。

"ブランチ"は、チェックアウトして変更をコミットできる作業行です。ブランチにはいくつかのファイルが含まれ、各ファイルにはブランチ固有の履歴があります。

"タグ"はある時点からリポジトリのスナップショットを参照します。タグにコミットを追加することはできません。

は、ここでこれは率直に言って、すべてのかなり標準的なソフトウェアの専門用語である例の画像

  tag v1.1 
      | 
-o---o---o---o---o---o HEAD (the "main trunk") 
    \ 
    \---o---o---o feature_branch 

です。

一部CVS固有の注意事項:

  • 多くのCVSのコマンドは、ブランチやタグがかかります。したがって、あなたはcvs update -r <branch>またはcvs update -r <tag>(あなたがgitでできるように)することができます。タグに更新した場合はコミットできず、ブランチに更新した場合はできます。 CVSは実際に "タグやブランチ"に使用されていても、この "スティッキータグ"を格納するために1つのフィールドしか使用しません。
  • 実際には、CVSでは、タグは任意の時点で任意の1つのブランチの状態を表す必要はありませんが、それはあなたが求めているものに対してはあまりにも進んでいます。 cvsでファイルの任意のサブセットとファイルバージョンの組み合わせにタグを付けることができます。
  • CVSは実際にはファイル中心で、Repo-Centricではないので、Repoがユニットであるかのように上の図は欺瞞的です。
関連する問題