項目組的學弟經常把一些.obj文件和debug目錄上傳到svn,這個習慣很不好,我說了很多次他總改不了,還是寫個文檔說清楚吧,以后查起來也方便。
svn是一種版本控制工具,主要目的是用來管理代碼的各個版本的,養成一個好的版本庫管理習慣對於軟件開發會有很大的幫助。為了減小整個svn目錄的體積、以及防止過多的沖突,
凡是自動生成的代碼,都不應該上傳到svn中,即千萬不要使用svn的add命令或者菜單添加任何自動生成的目錄和文件。
下面列出這些自動生成的目錄或者文件:
1. ncb 文件, suo文件,vcproj.XP-201108262034.XXX.user文件
vs2008與工程相關的文件有5種,“ .sln ” “ .suo ” “ .ncb” “.vcproj” “.vcproj.XP-201108262034.XXX.user”
請注意,
只有 .sln 和 .vcproj 是需要上傳到svn中的,其他的文件都是系統編譯時會自動生成的,請不要上傳到svn,否則每個人生成的不一樣,經常會出現沖突。
2. debug 目錄,release目錄
debug目錄和release目錄都是在編譯的時候,可以自動生成的,里面的所有文件如.obj也是臨時生成的,所以,千萬不要把任何debug目錄和release目錄下的文件上傳到svn
3. exe文件,lib文件,dll文件
這三個文件均指的是本工程自己生成的exe、lib和dll文件,由於工程每次編譯后均會自動生成,因此不要上傳。
4. GeneratedFiles 目錄
如果是QT的項目工程,則編譯結束后會出現一個 GeneratedFiles 目錄,請注意,這個目錄也是自動生成的,千萬不要上傳到svn中。
當然,上面所列出的肯定不全,比如有的項目可能用到數據庫、配置文件什么的,總之,基本原則就是,凡是會自動生成自動更新的文件,均不要上傳到svn中,另外,如果項目中使用了比較大的視頻文件,如某個avi文件,則也建議不要上傳,而是通過其他方式(如ftp或者共享)供組員下載到本機目錄。
下面再補充一下,一般
需要上傳到svn管理起來的有哪些文件:
1. 所有自己寫的 .h .cpp .c 文件,以及第三方庫的 .h 文件
2. 項目工程相關文件 .sln 文件和 .vcproj文件,QT工程的 .qrc 文件
3. 項目資源文件,MFC工程為res目錄和.rc文件,QT工程為 Resources 目錄和 .ui文件,以及做界面所添加的 .ico圖標文件、.img等圖像文件。
4. 第三方庫文件 .lib或者.dll ,自己工程生成的lib和dll不用上傳。而使用的第三方庫則不一樣,如果程序鏈接需要第三方的lib,或者運行時需要當前運行目錄下有這個第三方的dll,則需要上傳。
5. 其他