![](/img/trans.png)
[英]sonar QualityGate Should be Checked before SVN Commit— How to achive this?
[英]How often should a programmer commit to SVN?
一般規則是什么? 你什么時候犯的?
盡早並經常提交。 它最大限度地減少了在團隊中工作時的沖突解決步驟。 但是不要做任何破壞你的構建的東西。 理想情況下,持續集成會在構建中斷時通知團隊。
每當我完成一件“工作”時我都會嘗試 - 只要代碼編譯,當然。
如果在主干上工作,每當我達到一個不會影響我的隊友的里程碑時,我都會承諾。 在私人分支機構工作時,每當我達到一個里程碑時我都會承諾,我不想失去(我不在乎它是否構建)。 對於個人項目,我使用mercurial並不斷提交。 這一切都取決於對你和你的團隊有用的東西。
使用測試驅動開發時,每次我編寫一個新的單元測試並讓它通過時我都會檢查。
這取決於具體情況。
一般來說,當我在自己的分支機構工作時,我遵循2條准則
每當我完成一個工作單元時,我都會提交:修復錯誤,添加功能,提高效率等等。 但我盡量避免長時間的沉默。 Do not Go Dark中的建議值得一讀。
當您擁有不想丟失的代碼時提交。 這並不意味着你承諾中繼,如果你是在一個團隊中發展,你應該避免為他人破壞事情。 如果您的編輯器銷毀文件,您想要返工多少代碼? 一兩個小時?
svn需要提交到遠程服務器使得很難像你應該那樣經常提交,所以我建議你嘗試使用mercurial或git,以便你可以隨時進行本地提交,然后將這些提交發送到svn(通過git) -svn或hg-svn)如果必須使用集中式svn存儲庫,那么在進行自己的清理之后。
您詢問有多少次提交提交的事實意味着svn的集中性在一定程度上妨礙了您的工作流程。 一旦超越學習曲線,您將會對本地機器存儲庫的好處感到高興。
來自瘦/分布式VCS或以前使用它的程序員將提交小的更改或功能,因為本地提交非常便宜。 然后,一旦需要同步,他們就會推送到中央倉庫。 但是因為使用SVN提交是非常昂貴的,所以使用SVN(通常)每天提交的程序員有時候變更集可能在一個非常大的塊中,並且提交可能需要與功能相關聯。 這是不好的習慣。
所以我嘗試將DVCS使用的最佳實踐帶入SVN。 因此我會通過功能提交SVN,這樣一旦更改出現問題,我就會更容易回滾。
如果我需要添加新功能或修復錯誤,我通常會做的是在我需要的地方創建一個分支,在那里完成我的工作,檢查代碼並將其合並回來。你甚至可以分解你的每個用戶的分支文件夾(如果你有很多用戶可能沒有意義),每個開發人員都會保留他們的更改。
一般規則:
原子更改:是一個“邏輯單元”更改,您可以在提交的注釋中輕松編寫它。
有道理:它包括安全更新 - 編譯而不是破壞功能 - 這是你在評論中不怕說的邏輯變化。
我什么時候提交:當我按照一般規則進行一些更改時,我會嘗試更頻繁地進行更改。
可以在這里找到一些更好的做法: http : //ducquoc.wordpress.com/2011/06/09/svn-best-practices/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.