2011-07-18 17 views
2

可能性の重複:私は最高のSVNのレイアウトを記述するいくつかの記事を見てきました
How to use SVN, Branch? Tag? Trunk?svnのトランク/ブランチ/タグの目的は何ですか?

がために:

  • トランク
    • Project1の
    • のProject2
    • プロジェクト3
  • 支店
  • タグ

なぜこれが推奨レイアウトで、正確に使用されることになって支店やタグのフォルダは何ですか?

+0

この質問に非常によく似ています:http://stackoverflow.com/questions/464417/how-to-use-svn-branch-tag-trunk-この質問は、その3つの部分の2番目の部分の正確な複製です質問。 – David

+0

タグとブランチについては、http://www.collab.net/community/subversion/svnbook/svn.branchmerge.tags.html – David

+0

を参照してください。[バージョン管理とSubversion](http://svnbook.red- bean.com)、無料のオンラインブック。 [共通リポジトリレイアウト](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.maint.html#svn.branchmerge.maint.layout)を記述するセクションがあります。 –

答えて

4

/トランクは、アプリケーションのコードのベースフォルダです。あなたが次のバージョン/リリースで作業することがここにあります。

/ブランチは、瞬間を選択できるフォルダで、/ Trunkとは異なる開発パスを使用することができます。/Branchの一般的な使用方法は、開発チームにアプリケーションの現在のスナップショット、つまり本番環境に存在するスナップショットへのアクセスを提供することです。 /支店/生産管理。

この「分岐」のコンセプトにより、現在の/ Trunkで起こっている次のバージョンの進行中の作業に影響を与えずに、チームが本番の修正/強化を構築できます。ブランチは、大規模なチームでは、開発者がアトミックに作業し、将来、ある時点で/ Trunkにマージすることを可能にする機能のミニピザでもあります。

/タグは、アプリケーションのスナップショットを作成し、特定の「ビルド」だけで作業できるフォルダーです。これにより、テストとビルドの違いを見つける際にチームの柔軟性が得られます。あなたのビルドに関連した/ Branchには、しばしば命名規則があります。/Branch/2.0.0、/Branch/2.0.1、/Branch/3.1.0など。命名規則は、あなたとあなたのチームに任されています。一貫性を保つ!

2

簡潔に言えば、branchestagsは、多くのバージョンのソースコードを並列に保つことができます。

典型的なシナリオは、trunkに、場合によっては(各マイルストーン/リリースで)独自の名前で新しいbranchを作成し続けることです。

このアプローチの主な利点は、新しい/野生の開発を、安定していなければならず、(理想的な世界では)修正を必要とするテスト/リリース版から分離することです。

は( trunkも、分岐である)あなたは両方のブランチから変更をマージ merge を使用することができますtrunkbranchから(すなわちバグが修正)変更内容をコピーします。

(さらに新しいバージョンのSVNで)SVNは、マージされたチェンジセットの履歴を保持します。

branching strategiesについての良いstackoverflow質問があります。

関連する問題