“怎么做?”;git push heroku master“;知道推送至何处以及如何推送至不同的回购协议?
推送到Heroku上托管的存储库时,必须执行以下命令:“怎么做?”;git push heroku master“;知道推送至何处以及如何推送至不同的回购协议?,git,heroku,Git,Heroku,推送到Heroku上托管的存储库时,必须执行以下命令: git push heroku master 在这个命令中,heroku和master表示什么?git如何知道推到哪里?(git路径) 另外,我不知道我可以使用heroku rename来重命名应用程序,所以以前,我说我使用的是应用程序名trytryheroku,现在我使用heroku create real thing但是如果我推,它仍然推到trytryheroku。。。有没有办法改为推送到真实的东西?heroku需要作为heroku
git push heroku master
在这个命令中,heroku
和master
表示什么?git如何知道推到哪里?(git路径)
另外,我不知道我可以使用
heroku rename
来重命名应用程序,所以以前,我说我使用的是应用程序名trytryheroku,现在我使用heroku create real thing
但是如果我推,它仍然推到trytryheroku。。。有没有办法改为推送到真实的东西?heroku需要作为heroku gem的一部分来协助推送,master就是您推送的git分支。git知道推送到哪里,因为您创建了一个heroku应用程序,推送是自动设置的,您可以通过键入
git remote -v
如果需要更改,请使用git remote rm heroku将其删除,然后使用git remote add heroku添加您的新应用程序git@heroku.com:your-application-15.git
heroku部分是您设置的远程设备的名称-当您第一次创建heroku应用程序时,它会创建指向您的应用程序的git远程调用“heroku”-如果您在项目中键入“git remote”,它将显示远程端点。没有任何东西会阻止您使用“heroku”作为远程设备的名称-例如,如果您的应用程序有多个环境,您可能会将远程设备命名为production或staging
“主”部分是您希望推送到远程的本地分支。如果您在一个名为“myfeature”的功能分支中开发,并且希望将其部署到heroku,那么您可以这样做
git push heroku myfeature:master
这里的附加:master是说将我的本地myfeature
分支推入远程上的master
分支-注意:heroku只能从master分支部署
如果您重命名一个应用程序,heroku git remote url将发生更改-执行一个git remote-v
,这将显示您的应用程序正在使用的git repo,您可能需要删除旧的heroku源代码并添加新的源代码,git remote rm heroku
然后git remote添加herokugit@newgitpathfromcontrolpanel
要了解更多关于Git的信息,我推荐一本书,第一部分:“Git如何知道去哪里?”
在执行上述命令之前:
$ git push heroku master
通常要执行的其他步骤很少:安装Git和Heroku、创建本地Git repo、注册Heroku、通过命令行登录Heroku、创建托管点的Heroku句柄(在第2部分中解释)
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
...
$ 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
2。注册Heroku并通过命令行登录:
$ 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
...
$ 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
第二部分:但希罗库和师父指的是什么?
这比Heroku更像是一个Git问题——Heroku是一个托管平台,它依赖于Git(分布式版本控制系统)进行部署
“推送”的基本概念是将本地(工作机器中)的某些东西(文件、应用程序等)推送到其他地方,在这种情况下,推送到远程存储库(远程机器)
在Git中,在使用“push”之前,我们创建一个远程(句柄),作为对远程存储库(完整URL)的引用,我们使用以下命令执行此操作:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
注意最后一行“Git remote heroku added”
更清楚地说,下面是一个Git命令,用于检查/输出所有远程设备:
$git远程-v
将显示类似于以下内容的内容
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
因此,我们可以假设在您创建$heroku时,在某个地方执行了以下命令(隐式),从而创建了heroku远程到某个heroku repo(url)*
就像你一样,我也努力去理解git和heroku的本质,我也很困惑。但现在我有点清楚了,能够简单地回答你的问题
假设您在项目目录上安装了git。您的项目文件夹中存在一个.git隐藏文件夹,其中包含一个名为“config”的文件,该文件保存有关远程设备的所有信息
Remotes是您单独命名的存储库,如origin、heroku、staging、prod等
在您的命令中,heroku代表已映射到heroku项目的存储库。打开配置文件,您将看到URL
当你跑的时候
git push heroku master
您告诉git将当前源存储库的主分支推送到heroku存储库的主分支
其余所有细节已在其他答案中共享,因此不想重复。根据我的理解,这只是一个简短的回答。希望能有所帮助。其他答案对你问题的前半部分很好
下面是下半部分的简明答案。
通过
git远程rm heroku
heroku git:remote-heroku应用程序的名称
但如果我推,它仍然推到Trytheroku。。。有没有一种方法可以把它变成真实的东西呢
我找到了你可能对heroku感兴趣的答案:
这样,heroku就知道该往哪里推了 请注意,远程分支通常由与您正在推送的分支相同的名称创建。这是可以改变的,但是(git-push-heroku-master:mymaster,例如,或通过confgi文件)这个答案是不真实的heroku
是远程设备的名称,与heroku gem完全无关。您可以使用git remote set URL
(git 1.7.0及更高版本)或git config remote..URL
,或通过编辑.git/config
(可能通过git 1.6.3及更高版本中的git config-e
更新远程设备的URL).那很有帮助。感谢你:“当你第一次创建heroku应用程序时,它会创建一个指向你的应用程序的git远程调用‘heroku’”。这是指一个名为“heroku”的“远程呼叫”,还是
git push heroku master
$ cd my-project/
$ git init
$ heroku git:remote -a nameofyourapp
$ git add .
$ git commit -am "make it better"
$ git push heroku master