6

ここで、SVN リポジトリのディレクトリ「branch」、「tag」、「trunk」の意味について多くの Q/A を読みましたが、理解したと思うので、それを実装しようとしています。

Virtualmin を使用してサーバーを管理し、Web GUI を介してリポジトリを作成します。ただし、作成したレポは空なので、自分でディレクトリ構造を作成してコミットする必要があると思います。完了したら、プロジェクトのファイルをトランクに入れます。安定したバージョンの状態になったので、それを branch/xxx (開発の保存ポイントになります) と tags/xxx (これは私の開発バージョン)。

ここまで正しければ、Tortoise で新しいタグに切り替えます。次のコミットで変更されるのはそれだけです。ところで、Tortoise では、現在のタグ ディレクトリを右クリックする必要がありますか? それとも、プロジェクトのルート フォルダから直接コミット/復帰できますか?

私の現在のプロジェクトには、いくつかの絶対パスを定義する構成ファイルがあります-おそらく間違っていますが、それを回避する方法が見つかりませんでした。これらのブランチ/トランクのいずれかからプロジェクトが実行されていることを確認できるようにしたいので、バージョンごとに異なる構成ファイルが必要になるということですか? その場合、このファイルを無視リストに追加する必要がありますか? つまり、何が良い習慣と見なされるのでしょうか?

追加の質問: この場合に Composer を使用する場合、composer.json と vendor ディレクトリはどこにあるべきですか?

ありがとう!

4

1 に答える 1

8

タグとブランチを混同しています。タグは変更されるべきではありません。それらは通常、アプリケーションのリリースを行うたびに (トランクまたはブランチから) 作成されます。

ブランチは進行中の作業を保持するために使用されます。

トランク ディレクトリを作業コピーにチェックアウトする必要があります。ブランチに切り替えるには、switch コマンドを使用します。同じ場所にある作業コピーは、トランク、ブランチ、またはタグなど、必要なものを指すことができるため、ブランチごとに個別の構成ファイルを用意する必要はありません。重要な点は、作業コピーのルートがプロジェクトのルートである必要があるということです:

したがって、プロジェクト ファイルに次のファイルが含まれているとします。

index.php
config.txt
some_folder
    foobar.php

レポのレイアウトは次のようになります。

trunk
    index.php
    config.txt
    some_folder
        foobar.php
branches
    maintenance_1.0
        index.php
        config.txt
        some_folder
            foobar.php
    feature_refactor_index_page
        index.php
        config.txt
        some_folder
            foobar.php
tags
    v1.0
        index.php
        config.txt
        some_folder
            foobar.php

作業コピーは次のようになります。

MyProject --> references trunk
    index.php
    config.txt
    some_folder
        foobar.php

機能ブランチで作業したい場合は、ブランチに切り替えると、作業コピーが

MyProject --> references feature_refactor_index_page
    index.php
    config.txt
    some_folder
        foobar.php

したがって、まったく同じであり、構成ファイルに異なるファイル パスを含める理由はありません。

于 2013-02-09T13:43:31.557 に答える