所以我想使用GitHub和Bitbucket作为repos(取决于我是否需要公开与私有)并且我的很多工作还包括LaTeX工作(所以有.tex,.png和.pdf文件)以及速度测试(所以我可能有.csv和.Rdata文件)。
我很难确定应该将什么类型的文件放入我的存储库中,哪些应该链接到README.mds内。
有没有人有他们想分享的任何简单的哲学或硬性规则?
答案 0 :(得分:3)
通常,您希望您的repo仅包含可以自动生成其他所有内容的文件。
例如,如果它是C程序,您将需要*.c
和*.h
文件,以及任何Makefile,但不是目标文件和可执行文件。我们的想法是,有人可以克隆你的仓库,遵循你的构建指令,并重新创建使用你的项目所需的一切。
文本与二进制文件并不总是遵循的最佳规则。例如,自动生成的.png
图像文件不需要在repo中,但如果它是您手动构建的图标文件(并且您的程序依赖于该文件),则它应该在repo中。
这不是一个硬性规定。有时包含生成的二进制文件可能很方便。例如(假设一个应用程序),如果你将可安装的应用程序打包成一个.zip
,.tgz
或.msi
文件,那么在repo中提供它是合理的(可能在一个单独的目录)。如果您包含类似于应用程序的当前版本的内容,请确保在提交和推送之前它是最新的。
答案 1 :(得分:1)
通常忽略二进制文件,尤其是大文件。 Git不像SVN那样可以进行大型或二进制文件跟踪。
如果必须,可以对小文件(即png)进行例外处理,只要它们不会发生太大变化。