文章 原始出处 http://ticktick.blog.51cto.com/823160/751582
csdn没有提供直接转载博客的方法,只能复制后,新建博客,然后在发布时选择博客的类型及填写博客的出处
项目组的学弟经常把一些.obj文件和debug目录上传到svn,这个习惯很不好,我说了很多次他总改不了,还是写个文档说清楚吧,以后查起来也方便。
svn是一种版本控制工具,主要目的是用来管理代码的各个版本的,养成一个好的版本库管理习惯对于软件开发会有很大的帮助。为了减小整个svn目录的体积、以及防止过多的冲突,凡是自动生成的代码,都不应该上传到svn中,即千万不要使用svn的add命令或者菜单添加任何自动生成的目录和文件。
下面列出这些自动生成的目录或者文件:
ncb 文件, suo文件,vcproj.XP-201108262034.XXX.user文件
vs2008与工程相关的文件有5种,“ .sln ” “ .suo ” “ .ncb” “.vcproj” “.vcproj.XP-201108262034.XXX.user”
请注意,只有 .sln 和 .vcproj 是需要上传到svn中的,其他的文件都是系统编译时会自动生成的,请不要上传到svn,否则每个人生成的不一样,经常会出现冲突。
debug 目录,release目录
debug目录和release目录都是在编译的时候,可以自动生成的,里面的所有文件如.obj也是临时生成的,所以,千万不要把任何debug目录和release目录下的文件上传到svn
exe文件,lib文件,dll文件
这三个文件均指的是本工程自己生成的exe、lib和dll文件,由于工程每次编译后均会自动生成,因此不要上传。
GeneratedFiles 目录
如果是QT的项目工程,则编译结束后会出现一个 GeneratedFiles 目录,请注意,这个目录也是自动生成的,千万不要上传到svn中。
当然,上面所列出的肯定不全,比如有的项目可能用到数据库、配置文件什么的,总之,基本原则就是,凡是会自动生成自动更新的文件,均不要上传到svn中,另外,如果项目中使用了比较大的视频文件,如某个avi文件,则也建议不要上传,而是通过其他方式(如ftp或者共享)供组员下载到本机目录。
下面再补充一下,一般需要上传到svn管理起来的有哪些文件:
所有自己写的 .h .cpp .c 文件,以及第三方库的 .h 文件
项目工程相关文件 .sln 文件和 .vcproj文件,QT工程的 .qrc 文件
项目资源文件,MFC工程为res目录和.rc文件,QT工程为 Resources 目录和 .ui文件,以及做界面所添加的 .ico图标文件、.img等图像文件。
第三方库文件 .lib或者.dll ,自己工程生成的lib和dll不用上传。而使用的第三方库则不一样,如果程序链接需要第三方的lib,或者运行时需要当前运行目录下有这个第三方的dll,则需要上传。