我一直在寻找这个主题有一段时间,我想我知道所有我需要的关于“我应该把我的自动工具生成的文件在我的回购?”。我同意每个人的说法,你不应该,包括只是wat是需要产生他们。
尽管我认为这是正确的开发方法,但我编写了一个框架,它使用git进行版本控制(在开发分支中),并使用master分支分发代码。我的问题是,有没有一种简单的方法可以在git中包含autotools将包含在dist包中的相同文件?。其思想是,克隆repo的每个用户都可以执行通常的./configure && make && make install过程,而不必担心autogen或其他东西。考虑到框架的性质,发送tar文件等有点麻烦,用户可以更容易地克隆repo来使用它。
也许git中有一些选项,或者一些标准的gitignore文件,或者其他什么东西。
谢谢!

最佳答案

许多人会坚持自动工具生成的文件不应该签入。然而,随着git变得如此普遍,我不认为这样做有什么坏处,只要您使用最新的稳定自动工具来生成文件。事实上,我建议你把它们包括在内:
正如您所指出的,这允许某人简单地签出项目并配置它-否则,您需要为不了解自动工具的人提供.tar[.bz2]快照…他们也不应该。autotools的整个思想是将开发人员的负担放在最小化最终用户的需求和努力上。
例如,使用./configure ...make [install]在命令行上传递shell变量就足够了。
如果有人真的想重建生成的文件,您应该确保autoreconf -fvi这样的内容足够了。如果需要更复杂的步骤,请提供autogen.sh脚本。执行此步骤的任何人都必须安装自动工具,并且可能对它们的工作方式有更好的了解-例如,“维护者模式”熟练程度。

08-26 13:24