从Git Bash推送到Heroku

时间:2017-09-25 07:30:59

标签: windows git bash heroku

我想将我创建的项目从Git推送到Heroku。我正在运行Windows并安装了Git Bash shell以及Heroku CLI。从Git Bash运行这个显示我的Git版本:

$ git --version
git version 2.14.1.windows.1

然而,当我尝试使用相同的Git Bash shell在Heroku上创建我的应用程序作为远程Git仓库时,我收到一个错误:

$ heroku create
bash: heroku: command not found

因此,我从常规的Windows cmd终端在Heroku上创建了我的应用程序并且工作正常(即,当我登录heroku时,我看到远程仓库)。但是,当我尝试从Windows cmd终端执行git push时,它无法识别git:

C:\myapp>git push heroku master
'git' is not recognized as an internal or external command,
operable program or batch file.

当我尝试从git bash shell中执行git push时,我收到此错误,表明它可能不知道如何构建heroku:

$ git push heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

所以看来我的常规windows cmd终端识别heroku,但我的Git bash终端没有。如何配置Git bash以识别Heroku命令?

注意:当我从Git bash shell中执行env | grep path时,结果包含我的 C:/ Program Files / Heroku / bin 目录,因此Git知道我的Heroku路径

3 个答案:

答案 0 :(得分:2)

你的问题不是git不会推送到heroku,而是你实际上没有在你的系统上安装git,就像你发布的消息所示。

  

'git'不被识别为内部或外部命令,   可操作程序或批处理文件。

heroku's documentation有一篇关于推送git的文章,如果你在安装git之后遇到进一步的问题,你可能会在那里找到解决方案。

答案 1 :(得分:0)

找到解决方案!它需要以下3个步骤/考虑因素:

  • 首先,我按照约翰格的答案here,即关闭Git Bash并通过windows cmd终端登录Heroku,然后按照正常情况使用Git Bash。
  • 其次,在Windows上从Git Bash发出heroku命令时,请包含扩展名,如here所述。即,问题heroku.cmd create(而不只是heroku create)。
  • 第三,显然git push heroku master命令必须从刚刚发出heroku.cmd create的同一个Git Bash终端发出。当我从一个单独的终端发出它时,我收到一条错误消息" ' heroku'似乎不是git存储库"。

答案 2 :(得分:0)

我正在发布此内容,希望它可以对其他人有所帮助,并为他们节省与我同样的麻烦。这让我发疯了,我尝试了设法找到的所有解决方案。花了几个小时尝试对其进行故障排除。最终导致的结果是与我的Internet安全性(特别是Comodo Internet Security Premium 10)发生冲突。我没有收到任何警告,它只是在第一次执行时自动将其添加到了阻止列表中。如果您正在运行Internet安全软件,尤其是在Windows计算机上,则很可能是您的问题。从任何阻止列表中删除C:\ Users \ YOUR_USER_NAME \ AppData \ Local \ heroku \ client \ bin \ heroku.cmd中找到的命令文件,以及该列表中可能来自heroku的任何其他可执行文件。