如何使用 mercurial 将文件夹与现有 Heroku 应用程序链接

Posted

技术标签:

【中文标题】如何使用 mercurial 将文件夹与现有 Heroku 应用程序链接【英文标题】:How to link a folder with an existing Heroku app with mercurial 【发布时间】:2012-04-20 04:06:10 【问题描述】:

我在 Bitbucket 上有一个现有的 Django 应用程序,我可以deploy to Heroku whith hg-git。每当我想在我的应用程序文件夹中运行一些 heroku 命令时,我都会收到以下错误:

$ heroku ps
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app <app name>
$ heroku logs
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app <app name>
etc.

当前的解决方法是指定应用名称:heroku ps --app &lt;app name&gt;,但我正在寻找一种方法将我的存储库名称链接到远程 Heroku 应用名称,例如 how it's done using git。

我暂时无法将我的应用程序移至 github。

【问题讨论】:

【参考方案1】:

我建议尝试 Hg-Git 的“intree”配置选项。通过将以下内容添加到您的 hgrc 来设置它:

[git]
intree = True

使用该设置,Hg-Git 内部使用的 Git 存储库将存储为工作副本中的“.git”目录,而不是嵌套在“.hg”目录中。

Heroku 将看到这个存储库的配置。按照另一个答案中的建议添加一个遥控器(引用如下),你应该已经准备好了。

git remote add heroku git@heroku.com:<app-name>.git

目前,我发现的关于 Hg-Git 配置选项的最佳文档是项目的 Bitbucket 页面上显示的 README:https://bitbucket.org/durin42/hg-git

【讨论】:

【参考方案2】:

考虑到heroku 正在查看.git/config 文件以获取应用名称,只需在本地存储库中执行以下操作:

git init
git remote add heroku git@heroku.com:<app-name>.git

为了不弄乱您的存储库,您还将以下行添加到.hgignore

#Git setup
.git/**

现在,通常的 heroku 命令不再要求默认应用名称。

【讨论】:

注意如果你使用的是 git(不是这个问题,我知道,而是我来这里的目的),你应该使用这个命令:“heroku git:remote -a app”

以上是关于如何使用 mercurial 将文件夹与现有 Heroku 应用程序链接的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mercurial 中更新现有克隆存储库的 URL

在 mercurial 中,如何将反向补丁应用于特定文件?

如何使用TortoiseHg工作台连接到存储库?

将 Mercurial 与类似 TFS 的工作项跟踪一起使用

如何将符号链接视为Mercurial中的目录?

使用Mercurial&Tortoisehg