我正在使用Google Code来托管我的C#项目。它有一个包含一个类库和一个测试项目的解决方案。我正在使用Visual Studio 2010。
我使用的客户是TortoiseHG。
在Windows资源管理器中,我首先克隆了一个空文件夹,并在其中获取了.hg文件,以便它与我的托管代码相关联。现在,我创建了一个新的C#项目,并复制了我的根源代码控制文件夹中的所有文件。我将在此后继续努力。
提交时,我的解决方案文件夹中有很多文件和文件夹,而不是所有文件和文件夹都是代码。通常我只是构建并取出EXE或DLL而从未真正打扰过其他东西。现在我觉得并非所有文件和文件夹都对源代码控制很重要。
我是源代码控制的新手。
除了实际的代码文件本身之外,哪些文件/文件夹应该进入源代码控制?
答案 0 :(得分:5)
好问题!我使用的经验法则如下:
*.sln
,*.csproj
和其他项目文件也会发生变化,必须签入这些文件。obj
目录和*.suo
文件中)可以标记为排除列表。您可能决定包含DLL或EXE的内置版本,但这不是必需的,因为加载项目的任何人都可以构建它。现在,下一步是:
如果最后一步有效(并且您应该定期检查),那么您的文件就有了坚实的基础。
注意:有些工具从内部支持Visual Studio,知道应该或不应该包含哪些文件,例如,对于SVN我知道VisualSVN在跳过不需要的文件方面做得相当不错。 / p>
另外两个拇指规则(哦,三个,实际上):
*.user
(任何项目的根目录),\obj\**
(全部位于临时obj
- 文件夹下),*.vspscc
和{ {1}}(项目的根),*.vssscc
并根据您的偏好设置:*.suo
。 \bin\**
目录到您的解决方案,您真的不想签入:在此处排除所有。编辑:忽略Visual Studio的this question on SO has a very extensive list个文件。
答案 1 :(得分:2)
为了给出@ Abel答案的更简洁版本,您可以省略bin和obj文件夹以及.suo文件。 bin和obj中的所有内容都将在构建时重新创建,而.suo是项目的用户设置,而其他任何人都不需要。