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

标签 git versioning

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

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

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

如果我提交所有内容,他们可以 checkout 然后忽略配置文件(因为他们必须编辑它们以适应本地主机环境)以及 future 提交中自动生成的文件。

对此的最佳实践是什么?谢谢。

最佳答案

最佳实践是创建一个 .gitignore 文件,忽略备份、编译文件、主机相关文件、ide 相关文件以及您在全局存储库中不需要的内容,因为它们在那里没有意义。只有编译和运行项目所需的内容才应该位于您的存储库中(也许还有一些项目管理内容,例如全局待办事项列表、说明、自述文件等)。

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

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

一旦主机特定文件等位于存储库中,它们就位于存储库中,并且它们会带来麻烦(即在 checkout 时覆盖新配置等),除非从存储库中删除。因此,最简单、最安全的处理方法就是根本不包含它们。

关于git - 初始 Git 提交是否应该包含自动生成的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25267412/

相关文章:

java - JGit 删除一个 git 仓库

git - 如何调试 : Git pull hangs during git pull (always at 54%)

javascript - Angular2 强制/硬重新加载浏览器缓存脚本?

Windows XP、Vista 和现在的 Windows 7,这是软件公司的维护噩梦吗?

versioning - 使用 CouchDB 的默认行为版本文档真的是错误的吗?

javascript - 为 Javascript 构建自动化和部署

git - "git clean -xdf"带有一些额外的过滤器

git - .gitignore 不起作用 - 文件仍在被跟踪

android - 致命的 : remote error: Individual contributor agreement requires current contact information

windows - 批量设置 .exe 和 .dll 文件的版本号