2012-10-26 62 views
1

我是Git的新手,我想知道這個想法是否可以使用這樣的SCM。Git工作流:選擇要從QA發佈到PROD的功能

我的想法是讓DEV團隊在本地處理特徵,然後將這些特徵推送到QA。此時,當QA測試和驗證故事時,企業可以決定在產品中安裝哪些故事。

因此,例如DEV正在故事A,B,C和D這4個然後在QA測試,但是企業決定實際生產僅有B安裝和D.

基本上QA會對所有PROD中的故事以及其他可能的故事。

甚至有可能使用git做這樣的事情嗎?使用這種方法你會發現問題(故事之間的依賴關係可能是其中之一)嗎?

謝謝! Roberto

+0

如果您有兩個功能相互依賴,請參閱是否可以改進您的代碼/體系結構,以便它們不是。如果這是不可能的,你必須把它們作爲工作流程中的一個特徵。 –

回答

2

是的!我寫了一篇關於此工作流程的整篇文章:http://dymitruk.com/blog/2012/02/05/branch-per-feature/

此方法的關鍵是所有功能或任務都是從同一個點開始的。這使得任何人 - 甚至非程序員 - 都可以在特定的環境或階段中選擇他們想要的功能。你可以爲每個分支分配一個分支。

如果您希望任何人都可以通過臨時組合和特性匹配來發布版本,強烈建議您從存儲庫中的.git目錄共享您的rr-cache目錄。這樣,一旦衝突得到解決,當有人抓取一些特徵並將它們合併在一個新分支上時,就不需要重新解決衝突。這被稱爲rerere,我在文章中解釋它。此外,爲了自動化共享,您需要編寫腳本的基本命令如下所示:Sharing rerere cache通過這種方式,您可以讓任何非開發人員利用此功能。

這並非沒有爭議。去年(差不多一年半)之前,有一些關於編程的權重問題引發了熱烈的討論。我抓住了長時間的討論,包括它,你可以自己判斷:http://dymitruk.com/old-comments-about-branch-per-feature.html

總之,這門學科將允許你在任何時間點部署任何一套齊全的功能 - 無論他們在編碼什麼順序英寸

+0

感謝Adam,大量閱讀! – Roberto

+0

隨時可以通過我的身份驗證我的身份..與我的身份證相同的電子郵件地址@ gmail.com。乾杯! –