我工作的公司正試圖從集中式VCS StarTeam中脫身,並希望進一步改進。我不想僅僅選擇SVN,因爲它是「簡單的選擇」(與我們今天的做法最相似)。有人可以幫我理解一個大中型開發團隊如何每天更改大約150個文件可以在像Git或Mercurial這樣的DVCS上運行嗎?大中型開發團隊如何不斷將更改推送到DVCS?
我們:
- 50開發商有
- 15年的歷史
- 15 000份文件(主要是代碼/文)
- 大約150個單獨的文件簽入一個單一的存儲庫工作一天
- 由於我們獨特的語言要求和數據結構,每天需要從中心拉動變化
經過數天的研究和實驗,我瞭解Git和Hg的過程和工作流程。我不明白的是,需要對單個文件進行更改的大型團隊如何能夠在系統受到限制的情況下快速運行?
例如:我可能正在處理3種不同的事情,開發人員向我提出了一個小問題。我做了一點研究,做了必要的1行更改,並檢入文件。從我可以告訴的是,使用git我需要提交更改,隱藏所有其他更改,拉取,推送,應用存儲,處理任何合併,以便將最近提取的代碼隱藏起來。有沒有更好的辦法?
我讀過關於Facebook從Git轉換到Mercurial的文章。他們如何在40,000個文件庫中每天管理數千個簽入?我無法理解這將如何與DVCS的拉/推模型一起工作。我對這些系統的工作流程或功能缺少一些信息。也許他們不需要每天都拉/重新基地?
任何幫助表示讚賞。
「他們如何在一個40,000文件存儲庫上管理數以千計的簽入?」對於FB而言,它是「單一主線」+ [持續整合](https://en.wikipedia.org/wiki/Continuous_integration)AFAICR –
http://www.wired.com/2015/09/google-2-billion- line-codeand-one-place/ –
我們很樂意實踐持續集成。不幸的是,我們被我們的語言和數據結構銬住了。抓取某些簽入的文件可能導致程序因需要重新格式化而停止工作。我們目前正在處理這個問題,因爲不需要整個回購單來檢查文件和每晚重建......我知道......並不理想。 –