我不能让git忽略我Ruby on Rails项目中的tmp文件夹。

3

我试了很多方法都没用,一直看到以下错误:"fatal: cannot use tmp/ as an exclude file" 我甚至尝试使用 /tmptmp/* 但是这两个也都不起作用。最终,我失望地删除了tmp文件夹,然后发现git正常工作了。

所以我有两个问题:

  1. 如何让它正常工作?

  2. 是否可以在没有tmp文件夹的情况下运行我的 ruby on rails 应用程序?


我刚刚尝试了一下使用.gitignore文件,没有任何问题。 - Some Guy
你在 .gitignore 文件中加入了 "/tmp/*" 吗?请参考这个示例文件:https://github.com/RailsApps/rails-composer/blob/master/files/gitignore.txt - Daniel Kehoe
2个回答

8
显而易见的问题是。我该怎么做才能使它正常工作?
在您的Rails应用程序根目录下的.gitignore文件中添加/tmp。在提交/tmp之前,请确保添加并提交此.gitignore - 您需要使用git rm将其删除以使其从存储库中消失。
我可以在没有tmp文件夹的情况下运行我的ruby on rails应用程序吗?
不可能。你为什么要这样做?Rails需要能够在那里写文件才能正常工作。您只能将其符号链接到其他位置,但如果文件包含在您的存储库中,则这并不真正解决问题。另请参见:Rails3:更改临时(tmp)目录的位置

我也做过这个。:O 当我尝试git add .gitignore文件时,它返回了我在问题中提到的致命错误:( - yugonline
应该可以正常工作。你确定你在Rails目录下,正在编辑.gitignore文件,并且其中包含/tmp吗?做一个git rm -r tmp,然后git commit -m“Remove tmp”。这样行吗? - slhck
等一下,现在它说“tmp”没有匹配任何文件。是的,我在我的Rails目录中,并且我已经初始化了,即在这个目录中执行了git init - yugonline
然后,tmp 不是您当前文件夹中的目录或者它已经不在您的仓库中了。 - slhck
看到这并不能真正帮助我们 - 你需要在问题中提供更多信息,例如目录的 ls -l,你的 gitignore 的完整内容,以及 git statusgit status tmp - slhck

1
这可能与git处理缓存文件的方式有关,即使将其包含在.gitignore文件中,该文件夹仍可能出现。尝试在命令行中使用git rm . -r --cached清除缓存文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接