源代碼控制策略
回答
論文"streamed lines: branching patterns for parallel software development"是關於分支模式的極好的討論,例如您提到的「主線」模式 - 它以模式形式列出選項以及討論反模式。其中一位作者是Perforce的Robert Orenstein。
我最喜歡的政策是「沒有顛覆承諾不引用門票+自動Trac的評論對每一個提交」:http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook
我已經取得了巨大的使用書Practical Perforce的。雖然你可能沒有使用Perforce,但我認爲第7章(軟件的演變)和第8章(基本代碼管理)可能非常有用。你可以在Google Books上瀏覽它們。
Perforce在這個問題上也有很多很棒的文章。 Software Life-Cycle Modeling寫道政策。
Perforce complete technical documentation。
而且,不,我沒有爲Perforce工作。
祝你好運, 托馬斯
沒有空提交信息。
提交每更改而不是每個文件。
這具有以下優點:
- 以後,您可以看到爲什麼這一行已在此確切的文件被更改(啊哈,這是對錯誤#123 Bug修復)。如果您提交每個文件,則提交消息往往會描述文件中所做的更改 - 無論如何,您都可以通過diff查看。如果您提交per-change,那麼提交消息往往可以解釋爲什麼首先完成更改。
- 恢復或合併更改/錯誤修復要容易得多。
- 當你清楚地關注你正在工作的單個bug /特性/改變時,它有助於更好地組織你的工作。你完成後就提交。
有些人認爲這個政策會產生更多的承諾,但從我的經驗來看,您最終獲得的承諾更少。例如,您正在進行影響50個文件的重構。重構後,您只需提交一條消息「重構xyz子系統」。
對於較大的變更,您應該考慮dev-branch-per-change政策。
這會導致很多提交,或者不是嗎? 您可以命名支持這種策略的源代碼控制系統。我所知道的所有系統只支持每個文件的提交。 – boutta 2008-09-23 07:20:07
是的,這是很多提交。只要它們是真的(http://thedailywtf.com/Articles/Productivity-20.aspx),這不是問題@Vilmantas Baranauskas希望確保他可以跟蹤個人提交的內容。這是一種折衷。 – 2008-09-23 07:34:57
請勿簽入/提交任何破壞構建的更改。
我們在項目中使用了幾條實用規則作爲提交策略。這些規則有助於我們將每個修訂保持在可以部署的狀態。我們的規則類似於KDE提交策略,發佈在這裏:http://techbase.kde.org/Policies/SVN_Commit_Policy。 每個提交應該是(從較高到較低優先級):
- 成功檢查(編譯,測試,審查,FxCop'ed等)
- 原子(應該只包含一個邏輯變化,FE單一錯誤修正,重構等)
- 非冗餘的(未使用的代碼應該加入,不要犯註釋代碼,將其刪除,不小心犯格式的變化等)
- 正確和全面評價
- 匹配的電流開發階段(例如,不應該重構b e允許在版本支持分支中)
- 儘可能小以匹配先前的規則。
我們開發了一個簡單的工具SvnCommitChecker,幫助我們在提交到svn之前檢查這些規則。我計劃在不久的將來將其發佈到sourceforge上,並提供一篇關於保持良好svn變化歷史的好處的文章。
這兩個基本相同:
Version Control for Multiple Agile Teams
Configuration Management Branching Strategy
我們正在使用這種策略,使軀幹穩定,使開發人員能夠做什麼,他們需要自己的分支機構。
有一些問題,因爲顛覆它不能處理Cyclic merges,但它可以通過刪除開發分支每個重返社會後回主幹工作圍繞(無關其他版本控制系統)
- 1. Drupal源代碼控制策略?
- 2. 源代碼控制分支策略
- 3. 源代碼備份策略
- 4. 一個Sitecore站點的Git源代碼控制策略
- 5. 使用VSTS構建的部分部署 - 源代碼控制策略
- 6. 抑制同源策略
- 7. 忽略忽略git源代碼控制結賬
- 8. 版本控制策略
- 9. 版本控制策略
- 10. 同源策略
- 11. 家庭源代碼控制
- 12. 源代碼控制培訓
- 13. SQL Server源代碼控制
- 14. 源代碼控制問題
- 15. SQL Server源代碼控制
- 16. LiveCode源代碼控制
- 17. 進入源代碼控制
- 18. VS2013 Git源代碼控制
- 19. 源代碼控制誤解
- 20. Visual Studio - 源代碼控制
- 21. Lotus Notes源代碼控制
- 22. 源代碼控制貨架
- 23. 免費源代碼控制
- 24. WebReference和源代碼控制
- 25. Groovy控制檯源代碼!
- 26. GIT源代碼控制
- 27. Xcode源代碼控制Git
- 28. 有替代代碼的好策略嗎?
- 29. QtWebkit同源策略
- 30. jFeed同源策略
也許,只是也許,在一個真正鎖定的維護環境。我更願意鼓勵所有開發人員進行檢查。獲得自動化測試並構建系統,並確保對基線進行配置審計,但不要阻止提交。 – 2008-09-23 07:32:21