项目组的学弟常常把一些.obj文件和debug目录上传到svn,这个习惯很很差,我说了不少次他总改不了,仍是写个文档说清楚吧,之后查起来也方便。数据库
svn是一种版本控制工具,主要目的是用来管理代码的各个版本的,养成一个好的版本库管理习惯对于软件开发会有很大的帮助。为了减少整个svn目录的体积、以及防止过多的冲突,凡是自动生成的代码,都不该该上传到svn中,即千万不要使用svn的add命令或者菜单添加任何自动生成的目录和文件。ide
下面列出这些自动生成的目录或者文件:svn
1. ncb 文件, suo文件,vcproj.XP-201108262034.XXX.user文件工具
vs2008与工程相关的文件有5种,".sln",".suo",".ncb",".vcproj",".vcproj.xxxx"ui
请注意,只有 .sln 和 .vcproj 是须要上传到svn中的,其余的文件都是系统编译时会自动生成的,请不要上传到svn,不然每一个人生成的不同,常常会出现冲突。debug
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. 其余