Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          Sealyu 2009-9-3

          公司讓總結一下SVN日常提交工作時需要注意的事項,結合看到的一片很好的帖子,自己做了部分修改。
          帖子地址:http://www.cnblogs.com/chenlong828/archive/2008/09/22/1296193.html 。 感謝作者dreamland讓我節省了不少時間。

          一.提交之前先更新

          1.         SVN更新的原則是要隨時更新,隨時提交。當完成了一個小功能,能夠通過編譯并且自己測試之后,謹慎地提交。

          2.         如果在修改的期間別人也更改了svn的對應文件,那么commit就可能會失敗。如果別人和自 己更改的是同一個文件,那么update時會自動進行合并,如果修改的是同一行,那么合并時會產生沖突,這種情況就需要同之前的開發人員聯系,兩個人一起協商解決沖突,解決沖突之后,需要兩人一起測試保證解決沖突之后,程序不會影響其他功能。

          3.         在更新時注意所更新文件的列表,如果提交過程中產生了更新,則也是需要重新編譯并且完成自己的一些必要測試,再進行提交。這樣既能了解別人修改了哪些文件,同時也能避免SVN合并錯誤導致代碼有錯

          二.保持原子性的提交

          每次提交的間歇盡可能地短,以幾個小時的開發工作為宜。例如在更改UI界面的時候,可以每完成一個UI界面的修改或者設計,就提交一次。在開發功能模塊的時候,可以每完成一個小細節功能的測試,就提交一次,在修改bug的時候,每修改掉一個bug并且確認修改了這個bug,也就提交一次。我們提倡多提交,也就能多為代碼添加上保險。

          三.提交時注意不要提交本地自動生成的文件

          一般配置管理員都會將項目中一些自動生成的文件或者與本地配置環境有關的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果項目中沒有進行這方面的配置來強行禁止提交這樣的文件,請自覺不要提交這樣的文件。提交了這樣的文件后,別人在更新后就可能與本地的環境沖突從而影響大家的工作。

          四.不要提交不能通過編譯的代碼

          代碼在提交之前,首先要確認自己能夠在本地編譯。如果在代碼中使用了第三方類庫,要考慮到項目組成員中有些成員可能沒有安裝相應的第三方類庫。項目經理在準備項目工作區域的時候,需要考慮到這樣的情況,確保開發小組成員在簽出代碼之后能夠在統一的環境中進行編譯。

          五.不要提交自己不明白的代碼

          代碼在提交入SVN之后,你的代碼將被項目成員所分享。如果提交了你不明白的代碼,你看不懂,別人也看不懂,如果在以后出現了問題將會成為項目質量的隱患。因此在引入任何第三方代碼之前,確保你對這個代碼有一個很清晰的了解。

          六.提前協調好項目組成員的工作計劃

          項目經理應該合理分配工作計劃。每個成員在準備開始進行某項功能的修改之前,如果有可能,先跟工作小組的成員談談自己的修改計劃,讓大家都能了解你的思想,了解你即將對軟件作出的修改,這樣能盡可能的減少在開發過程中可能出現的沖突,提高開發效率。同時你也能夠在和成員的交流中發現自己之前設計的不足,完善你的設計。

          七.對提交的信息采用明晰的標注

          在一個項目組中使用SVN,如果提交空的標注或者不確切的標注將會讓項目組中其他的成員感到很無奈,項目經理無法很清晰的掌握工作進度,無法清晰的把握此次提交的概要信息。在發現錯誤后也無法準確的定位引起錯誤的文件。所以,在提交工作時,要填寫明晰的標注,能夠概要的描述所提交文件的信息,讓項目組其他成員在看到標注后不用詳細看代碼就能了解你所做的修改。

          八.慎用鎖定功能

          在項目中要慎用鎖定的功能,在你鎖定了一個文件之后別人就無法繼續修改提交該文件,雖然可以減少沖突的發生率,但是可能會影響項目組中其他人員的工作。平時只有在編輯那些無法合并的文件(例如圖片文件,flash文件等)時,才適當的采用鎖定操作。

          posted on 2009-09-03 11:21 seal 閱讀(8902) 評論(1)  編輯  收藏 所屬分類: 版本控制

          評論

          # re: SVN提交工作注意事項[未登錄] 2014-07-16 17:36 張磊
          受用一生的經典啊!  回復  更多評論
            

          主站蜘蛛池模板: 龙江县| 澎湖县| 灵武市| 南投县| 尼木县| 芜湖县| 柳江县| 罗甸县| 乌鲁木齐县| 化州市| 桂阳县| 从化市| 资阳市| 莱州市| 宁海县| 昌平区| 丘北县| 政和县| 顺平县| 香格里拉县| 日土县| 金山区| 望谟县| 蛟河市| 隆子县| 石狮市| 文山县| 牙克石市| 崇州市| 凤山市| 青阳县| 柳江县| 昆明市| 兴城市| 浠水县| 万载县| 铜陵市| 临安市| 阿拉善右旗| 和平县| 平潭县|