在Git存储库中提交哪种类型的文件而不是忽略?

时间:2014-01-11 19:49:15

标签: git gitignore

所以我想使用GitHub和Bitbucket作为repos(取决于我是否需要公开与私有)并且我的很多工作还包括LaTeX工作(所以有.tex,.png和.pdf文件)以及速度测试(所以我可能有.csv和.Rdata文件)。

我很难确定应该将什么类型的文件放入我的存储库中,哪些应该链接到README.mds内。

有没有人有他们想分享的任何简单的哲学或硬性规则?

2 个答案:

答案 0 :(得分:3)

通常,您希望您的repo仅包含可以自动生成其他所有内容的文件。

例如,如果它是C程序,您将需要*.c*.h文件,以及任何Makefile,但不是目标文件和可执行文件。我们的想法是,有人可以克隆你的仓库,遵循你的构建指令,并重新创建使用你的项目所需的一切。

文本与二进制文件并不总是遵循的最佳规则。例如,自动生成的.png图像文件不需要在repo中,但如果它是您手动构建的图标文件(并且您的程序依赖于该文件),则它应该在repo中。

这不是一个硬性规定。有时包含生成的二进制文件可能很方便。例如(假设一个应用程序),如果你将可安装的应用程序打包成一个.zip.tgz.msi文件,那么在repo中提供它是合理的(可能在一个单独的目录)。如果您包含类似于应用程序的当前版本的内容,请确保在提交和推送之前它是最新的。

答案 1 :(得分:1)

通常忽略二进制文件,尤其是大文件。 Git不像SVN那样可以进行大型或二进制文件跟踪。

如果必须,可以对小文件(即png)进行例外处理,只要它们不会发生太大变化。