【问题标题】:Creating a new directory in Heroku在 Heroku 中创建一个新目录
【发布时间】:2012-10-28 02:19:02
【问题描述】:

我对 Heroku 很陌生,我刚刚将我的 Django 应用程序推送到 Heroku。有谁知道如何在“/app”下创建一个“日志”目录? /app 是我的应用的顶级目录吗?

谢谢

【问题讨论】:

    标签: django heroku


    【解决方案1】:

    日志目录在你的.gitignore 文件中吗?如果/log 是一个未版本控制的目录,那么K Z's answer 应该对Heroku 有所帮助;除非 Heroku 和你的 repo 中的日志目录发生了其他事情。

    关于提交空目录

    你不能将空目录提交到 git,但你可以在一个目录中添加一个.gitignore 文件,该目录会忽略除自身之外的所有文件。这将尽可能接近对空目录进行版本控制,因为我确定您不想对日志文件进行版本控制。

    确保日志目录不在您的主 .gitignore 文件中。然后在您的日志目录中创建一个新的.gitignore,其中包含以下内容:

    # Ignore everything in this directory
    *
    # Except this file
    !.gitignore
    

    你可以在这里查看Jamie Flournoy's答案How can I add an empty directory to a Git repository?

    【讨论】:

      【解决方案2】:

      要创建一个新目录,您只需在本地目录中创建一个(即cd app; mkdir log,然后提交并推送到 Heroku。

      /app 是否是顶级目录取决于您的目录结构,通常是设置为顶级目录的 Heroku 上的应用程序名称。但是,如果您位于用于 Heroku 应用程序的 git 存储库中,则可以通过以下方式找到根目录:

      git rev-parse --show-toplevel
      

      这是一个 git 命令,它告诉你这个 git 目录的顶级目录。

      【讨论】:

      • 谢谢。但是 commit 给了我 # On branch master nothing to commit (working directory clean) 并且 push 似乎没有提供任何新的东西。如何确保我要添加的目录尚未推送?
      • @Kate 你忘了git add log 吗?您需要添加新创建的目录才能让 git 跟踪它并提交它。
      • 我已经做到了。那没有任何输出。我如何确保它尚未提交?问题是,当我第一次提交和推送时,日志目录已经在当前目录中,但不知何故,heroku 日志似乎暗示日志目录不存在。
      • @Kate git log --all -- PATH_TO_LOG_DIRECTORY 给你任何结果吗? heroku log 返回什么?
      • git log --all -- log 给了我我已经完成的两个提交。 git log 提供相同的输出。 heroku logs 给我错误消息说它崩溃了。这似乎是由于缺少 log 目录引起的。如果没有日志目录,预计会崩溃。
      猜你喜欢
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      相关资源
      最近更新 更多