【发布时间】:2020-11-06 13:35:44
【问题描述】:
我有一个客户,他的代码在付款后仍未被开发人员发布,他的 Heroku 帐户仍然与包含代码的 GitHub 存储库链接。我试图恢复它使用
heroku git:clone -a app_name
但是,这让我得到了属于 master 分支的更旧版本的提交,并且构建是从 /release/1.0 分支部署的。有什么方法可以在不实际访问 Github 存储库本身的情况下恢复代码?
【问题讨论】:
我有一个客户,他的代码在付款后仍未被开发人员发布,他的 Heroku 帐户仍然与包含代码的 GitHub 存储库链接。我试图恢复它使用
heroku git:clone -a app_name
但是,这让我得到了属于 master 分支的更旧版本的提交,并且构建是从 /release/1.0 分支部署的。有什么方法可以在不实际访问 Github 存储库本身的情况下恢复代码?
【问题讨论】:
所以我找到了解决方案。有一个叫做Dyno 的东西在容器中运行代码,我可以访问bash shell。现在它允许我做的是从 Dyno 实例中复制我想要的任何文件。
heroku ps:copy tmp/some.log --app app-example-prod --dyno web.1 --output=tmp/some.heroku.log
显然,我需要下载整个代码库,并且逐个文件地执行它会很乏味。因此我决定压缩所有文件,然后使用curl 将它们上传到文件共享服务器。
zip -r entire-codebase.zip *
curl -F "file=@test.txt" https://file.io/?expires=1h
这返回了一个 JSON 字符串,其中包含我可以下载我的代码库的 URL。
由@Szymon Jez 回答。这是官方问题的link。
【讨论】: