我的heroku应用程序有一个文件,但是我不想在我的GitHub存储库中找到一个文件。
有什么办法可以使.gitignore
仅在推送到GitHub时使用?
此外,还有其他方法可以避免将一个文件推送到GitHub吗?
答案 0 :(得分:1)
如果您已经跟踪了此文件,则在推送到GitHub之前将其删除(甚至在.gitignore
中忽略它),不会将其从推送的存储库的历史记录中删除。< / p>
这意味着了解为什么您不想在GitHub上保存该文件很重要。
如果出于安全原因,因为其中包含敏感信息,则您可能具有:
通常,不,对于两个不同的远程存储库,没有条件/单独的.gitignore
。
在您的情况下,您可能必须编写git push操作脚本才能与as in here一起玩,并与git update-index --(no-)assume-unchanged <file>
一起玩。
答案 1 :(得分:1)
VonC的答案很好,但是这里有更多信息。
有什么办法可以使
.gitignore
仅在推送到GitHub时使用?
.gitignore
从未与git push
一起发挥作用:
git push
在 commits 上运行,因此,如果要在Heroku构建中包含文件,则必须提交从理论上讲,您可以维护一个长期运行的heroku
分支,该分支一直与master
(或您的主分支所在的任何分支)保持最新状态,但是还包含仅Heroku的文件,但是在我看来没有理由跳过那些篮球。只需包含您的Procfile
或您的主存储库中的任何内容即可。这有什么害处?
请注意,如果遇到相反的情况,而您想在Heroku 上省略某些跟踪文件,则可以使用.slugignore
file:
如果存储库包含运行应用程序不必要的文件,则可能希望将这些文件添加到存储库根目录中的
.slugignore
文件中。您可能希望从该文件中排除的文件示例:
- 艺术资源(如.psd文件)
- 设计文档(如.pdf文件)
- 测试数据
...
.slugignore
文件导致文件在您将代码推送到Heroku之后并且在buildpack运行之前被删除。