【发布时间】:2020-08-09 04:44:49
【问题描述】:
我有一个托管在 Heroku(http://www.rajcovid19.info) 上的 COVID-19 报告网络应用程序,我从约翰霍普金斯大学 Git 存储库中获得了数据。我已将存储库添加为我的主项目存储库的子模块,用于将更改推送到 Heroku。这使我能够将更新拉到我计算机上的 COVID-19 存储库,然后将这些更改推送到 Heroku。但是,我无法将 COVID-19 子模块的最新提交直接拉到 Heroku 应用程序。我尝试使用 GitPython,但每当我尝试拉取更改时,它都会产生“Invalid Git Repository”错误。
我目前针对这个问题的有效解决方案是在我的笔记本电脑上编写一个脚本,定期检查 COVID-19 存储库的更改,然后将它们推送到 Heroku 应用程序。
这可行,但需要我每天至少打开一次笔记本电脑。
是否有可能让 Heroku 自动将最新的提交拉到子模块?
编辑:
我认为这也可能使事情复杂化?
至于我的 GitPython 代码不起作用,这里是:
即:
# Root directory for the COVID-19 Local repository root=os.getcwd()
if os. path.isdir(root+"/COVID-19"):
root+="/COVID-19"
repo=Repo(root) git=repo.git git. pull
else:
root+="/COVID-19"
os.system("git clone https://github.com/CSSEGISandData/COVID-19.git")
这适用于我的计算机,但在 Heroku 应用程序上出现“Invalid Git Repo”错误。我做了一些调试,并确保存储库的路径在 Heroku 应用程序上是正确的,但它似乎没有帮助。
【问题讨论】:
-
“我尝试使用 GitPython,但每当我尝试拉取更改时,它都会产生“Invalid Git Repository”错误。”好吧,然后向我们展示您的代码,我们将帮助您找出它不起作用的原因。
-
@larsks 我在编辑中添加了代码。
标签: python git heroku web-deployment