You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否创建远程专属.gitignore?实现向GitHub与Heroku差异化推送文件

实现「文件仅推送到Heroku,不推送到GitHub」的简便方法

嘿,这个需求其实用Git和Heroku的原生配置就能轻松搞定,不用每次推送都修改.gitignore,分两步操作就行:

1. 让GitHub永久忽略目标文件

首先我们要确保这个文件不会被推送到GitHub:

  • 把目标文件名添加到仓库根目录的.gitignore文件里,比如你要忽略的是prod-config.js,就在.gitignore里加一行:prod-config.js
  • 如果这个文件之前已经被Git追踪过了,得先取消追踪(不会删除本地文件),执行命令:
    git rm --cached prod-config.js
    
  • 提交这个.gitignore的修改并推送到GitHub,之后这个文件就再也不会出现在GitHub的远程仓库里了。

2. 让Heroku不忽略这个文件

Heroku默认会遵循.gitignore的规则,但我们可以用Heroku专属的.slugignore文件来覆盖这个规则:

  • 在仓库根目录创建.slugignore文件,执行命令:
    touch .slugignore
    
  • 打开.slugignore,写入一行否定忽略的规则,对应你刚才在.gitignore里加的文件:
    !prod-config.js
    
  • 把.slugignore提交到Git,然后推送到GitHub和Heroku都没问题——这个文件本身是允许被追踪的,不会影响其他逻辑。

这样设置之后,你正常执行git push heroku main时,目标文件会被推送到Heroku;而git push origin main时,这个文件会被自动忽略,完全不用每次修改配置~

内容的提问来源于stack exchange,提问作者LittleWhole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:13:37