2017-10-19 4 views
0

私はツールにとらわれない方法でSCMを理解しようとしています。そして、 "TRUNKは最新のコードを持っていて、最新の機能をすべて備えているはずです"ということにいくつかの疑問があります。SCM:プロジェクトの開始以来、トランクはどのように最新のコードを持っていますか?

たとえば、JDKプロジェクトを考えてみましょう。このプロジェクトが開始されると、JDK 1からJDK 8に移行する間にトランクが追加、削除されます。私は、プロジェクトのTRUNKが何年にもわたるすべての変更をどのように持つことができるかに関して、難しかったです。

私はSOのさまざまな質問を参照しましたが、TRUNKがプロジェクトの開始以来どのように最新のソースコードを取得できるかについてはまだ明確ではありません。

ご協力いただきありがとうございます。

答えて

0

開始時からプロジェクト全体で同じSVNリポジトリが使用されていることを考慮してください。

トランクはGitの "master"と同じように、SVNのデフォルトブランチです。開発が始まると、ブランクはTrunkから必要に応じてフォークアウトされます。現在では、長年にわたって、これらのブランチは、トランクを含めて、互いにマージされています。

各機能/バグ修正が開発され、トランクにチェックインされる必要はありません。コードが利用可能なブランチのいずれかにチェックインされ、同じものがトランクにマージされる場合があります。

私はSOのさまざまな質問を参照しましたが、TRUNKがプロジェクトの開始以来どのように最新のソースコードを取得できるかはまだ分かりません。

トランクの最新のソースコードですか?これはSCM設計に依存します。トランクには最新のコードがすべて含まれていても、構築することはできません。ある人は、最新のコードをいくつかのブランチに持っていて、トランクを安定した/製造可能な状態に保つことを好む人もいます。

プロジェクトの開始以来?はい、マージはコミット履歴が維持されているので、Trunkを含むすべてのブランチは、そのブランチで最新のコミットまで利用可能なすべてのコードを持ちます。

関連する問題