我正在开发一个小型项目,托管在Google Code上,使用SVN进行源代码管理。这是我第一次使用源代码控制,我对实际应该提交到存储库的内容感到有点困惑。我的项目很简单:一个用C#编写的类库项目。我写的实际代码是单个文件。
我的问题是:我应该提交整个项目(包括调试,发布,属性等目录)还是只提交我的主.cs文件?
在与Subversion战斗了一段时间后(注意自己:做不重置存储库),看起来我终于让它正确处理了正确布局的目录。
答案 0 :(得分:13)
你应该提交除输出文件以外的所有内容。
这意味着提交除\bin
和\obj
目录(及其中的文件)之外的所有内容。
答案 1 :(得分:10)
对于普通开发我不承诺:
我承诺的其他一切。对于将发送给客户的版本,我还提交了我发送的确切二进制文件。
答案 2 :(得分:9)
您应该包含构建项目所需的所有内容,而不是项目生成的任何内容,因为有人重新编译它将能够通过编译生成这些内容。
如果C#项目是您的解决方案文件( .sln),您的项目文件或文件( .csproj)和源文件( .cs)和任何资源文件( .resx,* .bmp,* .png等)。这包括Properties文件夹中的文件,因为它们包含项目的全局设置。
您不在Debug / Release中提交任何内容,这些是构建项目的输出。根据经验,您不会提交二进制文件(* .dll,* .exe)。
作为测试,如果您已经提交了足够的内容,请将源代码检出计算机上的其他目录并尝试重建项目。
答案 3 :(得分:3)
你绝对不想提交构建的库,没有。源控制实际上只是源代码。现在,在.NET项目设置之类的东西中,您也可以将项目文件和解决方案文件视为源,这很好。 (但不是.user或.suo文件,请保留这些文件。)但是,共享已编译二进制文件的团队会遇到麻烦。二进制文件通常很好,例如引用的DLL。只是不是代码的预期构建二进制文件。
基本上,提交您需要的所有内容(并且仅您需要的内容,至少在项目的代码层次结构范围内)以构建项目的完整版本。但是不要提交实际构建的输出。
答案 4 :(得分:3)
答案 5 :(得分:3)
提交:
源文件和文件夹
资源(XML,CSS,ini文件......)
非生成二进制文件(图片, 图标,声音..)
不要提交:
编译文件(exe,dll,jar)
生成的源文件
机器配置特定文件, 即包含说文件路径的文件 到您计算机上的某个本地文件 这可能完全不同 放在我的电脑上。