近一直忙于學(xué)習(xí)svn版本控制,總結(jié)下近學(xué)到的東西:
1、文件提交時(shí)要求必須提交注釋,注明相關(guān)修改信息,例如bug號(hào)、任務(wù)描述等。具體內(nèi)容可采用約定或者設(shè)置的形式。
2、你所提交的改變將體現(xiàn)給其他開發(fā)者,要明白提交的后果,提交之前要慎重。
3、代碼變動(dòng)及時(shí)提交,避免丟失本地修改后無(wú)法恢復(fù)。
4、在提交之前要編譯代碼并修正錯(cuò)誤。要保證新增加的文件同時(shí)被提交,否則只在你本地能正常工作,導(dǎo)致其它人不能編譯通過(guò)。
5、提交之前要測(cè)試所改變的應(yīng)用,測(cè)試改變后的效果是否達(dá)到預(yù)期的目的。
6、多次檢查提交的內(nèi)容。提交之前應(yīng)先做SVN更新或與資源庫(kù)同步,注意到SVN關(guān)于沖突、錯(cuò)誤的信息。資源庫(kù)同步會(huì)告訴你將要提交的內(nèi)容與資源庫(kù)內(nèi)容之間的差別,確認(rèn)它們是不是你真正想要提交的。
7、尊重其他開發(fā)者的代碼,在重大變更之前與他們協(xié)商。SVN并不能替代開發(fā)者之間的交流。
8、提前宣布修改計(jì)劃。當(dāng)你計(jì)劃進(jìn)行修改,需要影響到SVN里的許多文件時(shí),先通過(guò)郵件或者當(dāng)面通知其他開發(fā)者。例如,修改底層數(shù)據(jù)庫(kù)模塊時(shí),有可能影響到業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)庫(kù)模塊的地方。這樣其他開發(fā)者會(huì)有準(zhǔn)備,也會(huì)對(duì)修改提出意見和建議。
9、使用自動(dòng)提交。SVN一次可以提交多個(gè)文件,所以,請(qǐng)一次提交所有相關(guān)的文件,即使它們不在目錄下。這樣可以確保代碼在提交前后都是正確的。
10、不要將格式修正和代碼修正混合提交。修正代碼格式包括增加縮進(jìn)、減少空格等,如果把它們同代碼修正一起提交,很難從日志或資源庫(kù)同步信息里發(fā)現(xiàn)代碼的修正。所以應(yīng)該把修正問(wèn)題與修正格式分開提交。
11、每次提交盡量是一個(gè)小粒度的修改。比如一個(gè)debug提交一次,一個(gè)小功能提交一次。
12、每日進(jìn)行開發(fā)工作之前更新代碼。避免與昨天其他開發(fā)者的代碼沖突。
13、所有的代碼文件編碼格式應(yīng)該是UTF-8的。包括的類型如java,jsp,xml,php,html等。
14、提交的文件必須是開發(fā)者共用的程序文件,私人測(cè)試程序、程序緩存、圖片緩存文件不要提交到SVN里。作為一個(gè)特例,eclipse的工程配置文件.project可以提交到SVN。一些常見的文件和目錄可以加到SVN屬性的忽略列表里,包括Thumbs.db、/build/、*.class、/classes/、/data/等等。