2013-02-06 64 views
6

我在這裏讀了很多Q/A的有關目錄「分支」,「標籤」和「主幹」的含義實施SVN回購,現在我想我明白了,我試圖實現它。的SVN「分支」,「標籤」和「主幹」與作曲家和配置文件

我用的Virtualmin來管理我的服務器,並通過其Web GUI我創建的回購協議。然而,一旦創建我的回購是空的,所以我想我需要自己創建目錄結構並提交它。一旦完成,我把項目的文件放在trunk中,並且由於我處於穩定版本狀態,所以我應該將它分支到分支/ xxx(這將成爲我開發中的一個保存點),並且將標記/ xxx(將會是我的開發版)。

如果我是正確的,直到在這裏,然後我用龜切換到我的新標籤,而這僅僅是將在我的下一個提交更改。順便說一下,使用Tortoise,我需要右鍵單擊當前的標籤目錄,還是仍然可以直接從我的項目的根文件夾提交/恢復?

我目前項目已確定了幾個絕對路徑的一個配置文件 - 也許是錯誤的,但我沒有發現任何方式,以避免它。由於我希望能夠看到我的項目從任何這些分支/ trunk中運行,這是否意味着我需要爲每個版本配置不同的文件?如果是這樣,我應該將這個文件添加到忽略列表?我的意思是什麼會被認爲是良好的做法?

額外的問題:如果我想在這種情況下使用的作曲家,我composer.json和供應商目錄,應該是什麼?

謝謝!

回答

8

您正在混淆標籤和分支。標籤不應該被修改。他們通常是在每次發佈應用時創建的(從主幹​​或分支)。

分支用於保存正在進行的工作。

您應該檢查中繼目錄到工作副本。要切換到分支,請使用switch命令。沒有理由爲每個分支設置單獨的配置文件,在同一位置,可以指向任何你想要的東西:thr trunk,分支,甚至標籤。關鍵的一點是,工作副本的根應該是你的項目的根:

因此,假設您的項目文件包含以下文件:

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 

因此,這將是exacttly一樣的,而且也沒有理由爲配置文件包含不同的文件路徑。

+0

Got it!謝謝! :) – Nabab