初始Git提交是否应该包含自动生成的文件?

初始Git提交是否应该包含自动生成的文件?,git,versioning,Git,Versioning,到目前为止,我开发的软件没有版本控制,我的应用程序包含许多文件(功能、配置文件和自动生成的文件)。现在另外两个人将在这个项目上工作,所以我想使用Git进行我们的合作 我是Git的新手。我只是在我的服务器上设置了Git存储库。我想在笔记本上开发,然后将更改提交到服务器。现在我不确定第一次提交应该是什么样子 我应该在第一次提交中包含所有文件(自动生成的文件、配置文件和功能文件),以便我的同事可以轻松签出并将完整的项目数据发送到他们的本地主机,还是应该只提交功能文件(不包括图片、自动生成的文件、配置文

到目前为止,我开发的软件没有版本控制,我的应用程序包含许多文件(功能、配置文件和自动生成的文件)。现在另外两个人将在这个项目上工作,所以我想使用Git进行我们的合作

我是Git的新手。我只是在我的服务器上设置了Git存储库。我想在笔记本上开发,然后将更改提交到服务器。现在我不确定第一次提交应该是什么样子

我应该在第一次提交中包含所有文件(自动生成的文件、配置文件和功能文件),以便我的同事可以轻松签出并将完整的项目数据发送到他们的本地主机,还是应该只提交功能文件(不包括图片、自动生成的文件、配置文件等)

如果我提交了所有内容,他们可以签出并重新导入配置文件(因为他们必须编辑这些文件以适应本地主机环境)以及将来提交时自动生成的文件


这方面的最佳做法是什么?谢谢。

最佳做法是创建一个.gitignore文件,忽略备份、编译文件、依赖主机的文件、依赖ide的文件以及全局存储库中不需要的内容,因为它们在全局存储库中没有意义。只有编译和运行项目所必需的东西应该在您的存储库中(也许还有一些项目管理的东西,比如gloabaltodo列表、说明、自述等等)

当然应该包括全局的、稳定的配置文件(如makefile、maven pom等),因为它们是构建项目所必需的

进行第一次提交,包括此gitignore,而不是您不想要的文件


一旦特定于主机的文件和类似文件位于存储库中,它们就位于存储库中,除非从存储库中删除,否则它们会制造麻烦(即在签出时覆盖新配置等)。因此,最简单、最安全的处理方法是根本不包括它们。

这是有道理的。非常感谢。我唯一不明白的是,如果Git中缺少配置文件,那么同事在签出后如何获取该配置文件?我必须以其他方式提供给他吗?此配置文件不同于实例,但对于运行项目是必需的,只是每次的配置不同。在这种情况下该怎么办?您可以包括一个模板配置,例如project.conf.template,忽略project.conf,这样它就不会被提交,然后每个人都可以基于该模板构建自己的project.conf。它基本上取决于配置的类型。对于IDE,我发现在IDE中创建一个新项目最简单,该项目生成必要的配置,然后导入源代码。