“git push heroku master”如何知道推到哪里以及如何推到不同的回购?
当推送到Heroku上托pipe的存储库时,必须执行以下命令:
git push heroku master
heroku
和master
在这个命令中表示什么? git如何知道在哪里推动? (gitpath)
此外,我不知道我可以使用heroku rename
命名应用程序,所以之前,说我使用应用程序名称trytryheroku,现在我用heroku create real-thing
但如果我推,它仍然推trytryheroku …有没有办法推到真实的东西呢?
“heroku”部分是您设置的远程名称 – 当您第一次创build一个名为“heroku”的指向您的应用程序的git远程调用时,如果您在项目中键入“git remote”将向您显示远程端点。 没有什么东西可以locking你使用'heroku'作为远程的名字 – 如果你的应用程序有多个环境,你可能会有远程命令例如production或staging。
“主”部分是您希望推送到远程的本地分支。 如果你开发一个名为“myfeature”的特性分支,并且你想将其部署到heroku,你可以这样做;
git push heroku myfeature:master
额外的:主这里是说我的本地myfeature
分支推到远程的master
分支 – 注意:heroku只能从主分支部署。
如果你重命名一个应用程序,那么heroku git remote url将会改变 – 做一个git remote -v
,它会显示你的应用程序正在使用的git repo,你可能需要删除旧的heroku origin并添加新的git remote rm heroku
然后git remote add heroku git@newgitpathfromcontrolpanel
要了解更多关于Git,我会推荐这本书
第一部分:“git怎么知道去哪里?
在执行上述命令之前:
$ git push heroku master
总是有很less的其他步骤可以执行:安装Git和Heroku,创build一个本地Git仓库,注册heroku,通过命令行loginheroku,创build托pipe点到托pipe点( 在第二部分解释 )
1.本地Git存储库:
$ git init Initialized empty Git repository in .git/ $ git add . $ git commit -m "my first commit" Created initial commit 5df2d09: my first commit 44 files changed, 8393 insertions(+), 0 deletions(-) create mode 100644 README create mode 100644 Procfile create mode 100644 app/controllers/source_file ...
2.注册(编辑)Heroku并通过命令行login:
$ heroku login Enter your Heroku credentials. Email: user@example.com Password: Could not find an existing public key. Would you like to generate one? [Yn] Generating new SSH public key. Uploading ssh public key /Users/adam/.ssh/id_rsa.pub
所以通过运行$ git push heroku master
您已经将代码/应用程序推送到Heroku。
第二部分:但是Herku和Master表示什么?
这是一个比Heroku更多的Git问题 – Heroku是一个托pipe平台,依靠Git(分布式版本控制系统)进行部署。
“推”的基本概念是将我们在本地(在我们的工作机器中)的某些东西(文件,应用程序,…)推送到其他地方,在这种情况下是远程存储库(远程机器)。
在使用'push'之前的Git中,我们创build了一个远程(句柄)作为远程存储库(Complete URL)的引用,我们使用下面的命令:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
“推”命令的基本结构是:
$ git push <remote-name> <branch>
所以$ git push heroku master
实际上是将你的代码/应用程序/文件(从某些本地Git仓库)推送到远程仓库“heroku”。
想知道这个'heroku'遥控器是什么时候创build的,当你执行$ heroku创build时,它被添加了
$ heroku create Creating stark-fog-398... done, stack is cedar http://stark-fog-398.herokuapp.com/ | git@heroku.com:stark-fog-398.git Git remote heroku added
注意最后一行“ Git remote heroku added ”。
为了使它更清楚,这里有一个Git命令来检查/输出所有的遥控器:$ git remote -v会显示类似于下面的内容
$ git remote -v heroku git@heroku.com:somerepo.git (fetch) heroku git@heroku.com:somerepo.git (push)
所以我们可以假定下面的命令是在某处执行(隐含地),当你做$ heroku创build ,因此创build一个heroku回购(url)的heroku远程*
$ git remote add heroku git@heroku.com:somerepo.git
需要heroku作为heroku gem的一部分来协助推送,而master只不过是你推的git分支。 git知道要推送到哪里,因为你创build了一个heroku应用程序,推送是自动设置的,你可以通过键入来看到
git remote -v
如果你需要改变,使用git remote rm heroku
删除它,然后添加yoru新的应用程序与git remote add heroku git@heroku.com:your-application-15.git