如何将以编程方式生成的新文件添加到源代码管理中?

时间:2010-03-01 16:25:45

标签: version-control frameworks

这是我从未真正理解的源代码控制,特别是Subversion(我曾经使用的唯一源代码控制,这并不是很多)。我正在考虑转向git或Mercurial,所以如果这会影响我的问题的答案,请注明。

确定。据我了解,每次创建新文件时,我都要告诉SVN,以便知道将其添加到存储库并将其置于控制之下。类似的东西:

svn add newfile

如果我是创建文件的人那就没关系:我知道我创建了它,我知道它的名字,我知道它在哪里,所以很容易告诉SVN它。

但现在假设我正在使用某种框架,如Rails,Django,Symfony等,并假设我已经完成了初始提交。所有这些框架都以编程方式创建新文件,通常多次在不同的目录中创建等等。等。如何告诉源代码控制这些新文件?我是否必须单独追捕每一个并添加它们?有没有更简单的方法? (或者我可能误解了源控制的基本原理?)

2 个答案:

答案 0 :(得分:7)

一般来说,如果可以从项目中的其他文件生成文件,则不应将文件添加到源代码管理中。确实,在某些情况下,最初会生成一个文件,但必须手动修改。在这种情况下,您必须将其添加到源代码管理中。但是,您几乎不应自动添加文件。

答案 1 :(得分:0)

我一般同意Matthew,如果可以生成它,则不应添加它,但仍保持动态创建。

对于添加多个文件的实际问题,我不记得在svn中(尽管我认为应该可行),但是要在git中执行此操作:

  • 使用git bash(命令行),您可以通过在add命令后不指定文件来在目录或子目录下添加所有“松散”文件。您还可以将git设置为忽略某些文件,因此在这种情况下不会添加它们。

  • 另一种方法是使用git gui,它会显示所有未跟踪的文件,您可以选择它们(或其中的一组)并一键添加它们。