2013-02-10 129 views
0

在某些時候,我決定開始測試我的C++類。所以我去了我的主分支並從它分支到一個叫做「測試」的新分支。我創建了一個包含一些基本測試的/ tests文件夾,並在我的Automake.am文件(我使用GNU Build System,a.k.a Autotools,作爲我的編譯系統)的check_PROGRAMS下添加了測試程序名稱。Git將更新後的主合併到一個分支中

由於我的項目還處於非常早期的階段,因此沒有穩定的版本。大多數接口都是stil被構建的,所以現在爲所有接口編寫完整的測試還爲時過早,因爲接口將會改變,我將不得不重寫許多測試。但是我有一個分支,我開發了一些或多或少的我想測試的獨立算法。我的GUI並不完整,但在編寫使用它們的GUI之前,我確實想測試這些算法。

所以我看到的選項:1。 合併「測試」的掌握,然後合併「大師」的算法的分支 2.合併「測試」的算法的分支 3.只需創建/檢查文件夾在算法分支現在沒有任何合併

一些分支有一些文件被重命名或刪除,因爲它是這樣一個早期階段,所以如果我將測試/主合併到算法分支,我會得到一個測試文件夾充滿不相關試驗。但算法接口是項目的第一部分,可以完全準備測試並變得穩定並可以使用,所以如果我不合並,我會得到一個「乾淨的」測試文件夾,其中目前唯一的測試是一個測試算法,這是第一個準備好接口的片斷,所以我不希望在那裏發生變化,只是修復我檢測哪些測試的錯誤。

這裏最好的合併/非合併策略是什麼?

回答

1

我能想到的兩個選項:

  1. 如果你已經做了的測試工作中的「測試」分支的一些配置,然後去選擇2:

    Merge "testing" to the "algorithm" branch 
    

    那方式,你不會再放鬆時間再配置一切。

    至於你稱之爲不相關的測試,如果它們真的不相關,你可以在執行合併之前簡單地刪除它們。但是檢查測試配置是否工作的測試並非無關緊要。我不知道這是你的情況。

  2. 第二種選擇是從「算法」創建一個新分支,我們稱之爲「算法2」。

    Merge "testing" into "algorithm2" 
    

    如果一切正常,您可以刪除「算法」分支。這將是向算法分支引入新更改的安全方式。

1

爲什麼你想在不同的分支你的測試? git中的分支通常用於在項目的並行版本之間切換,例如, 「穩定」和「發展」。在「版本與測試」和「沒有測試的版本」之間切換的目的是什麼?

最有意義的是在所有分支機構進行測試。然後,您的主分支中的測試不需要工作,因爲您的代碼沒有完成,您可以在主分支之前的算法分支中執行測試。當你最終得到主測試工作時,你可以合併算法分支。

0

最好的總體策略是讓主分支持有穩定版或將要穩定版。 1.0,2.0 ..等 然後,對於每個測試或功能,您可以創建一個稱爲功能分支的東西。 刪除文件並不是什麼大問題,因爲git rm文件將在合併中完成。 總是與主分支(2.0)合併通過拉請求

玩得開心。

相關問題