git push 与 git push heroku master

Posted

技术标签:

【中文标题】git push 与 git push heroku master【英文标题】:Git push vs. git push heroku master 【发布时间】:2011-05-23 18:09:41 【问题描述】:

我刚从 pc 笔记本电脑转移到 Mac,我注意到我的 git 命令的响应方式有一个奇怪的差异。

之前,我会做以下事情:

git add .
git commit -m "These are my new changes"
git push # This would update my repo on github
enter password
git push heroku master # This would push to my app on heroku
enter password

现在,当我执行 git push 时,该应用程序只是部署在 Heroku 上,而无需推送到我的 Github 存储库。

如何确保我同时更新这两个地方?

编辑

感谢您的两个回答!我感谢澄清git pushgit push heroku master 之间的区别,因为git push 正在推动起源,就我而言,这似乎是Heroku。

如何更改设置以使它们像以前一样工作?即我希望 git push 现在推送到我在 Github 上的仓库,我希望 git push heroku master 推送到 Heroku。前者目前直接推送到 Heroku,完全绕过 Github。

【问题讨论】:

我遇到了一个非常相似的问题,发现这很有帮助:***.com/questions/2947190/… 【参考方案1】:

要获得您想要的行为,您需要删除现有的遥控器并重新添加它们:

git remote show origin # copy down the heroku URL
git remote rm origin
git remote add origin [github URL]
git remote add heroku [heroku URL]

【讨论】:

git remote rename origin heroku 然后get remote add origin <github-url> 而不是写下来。【参考方案2】:

git push 命令默认推送到名为origin 的远程。这通常指向您克隆存储库的位置,但您可以稍后更改它。

git remote show 命令将显示所有遥控器的列表。然后,git remote show origingit remote show heroku 将详细说明它们的配置方式。

您可以使用git remote 命令管理和更改每个遥控器的 URL。

【讨论】:

【参考方案3】:

只需使用命令git push--即省略参数--意味着 git 将不得不使用默认值,这将是您的第一个远程存储库(通常称为“原点”)作为目标,并将您的本地主分支作为源。在你的情况下,我猜你首先从 GitHub 克隆了项目,这使得你的默认远程是 GitHub。

当您指定参数 git push heroku master 时,您明确表示要将本地 master 分支推送到名为 heroku 的远程 - 因此,GitHub 不会使用此命令更新。

(也许 heroku 是您在 PC 上的第一个/默认遥控器,而当您移至 Mac 时,origin 遥控器是来自 GitHub 的克隆?)

【讨论】:

以上是关于git push 与 git push heroku master的主要内容,如果未能解决你的问题,请参考以下文章

git push origin与git push -u origin master的区别

git push origin与git push -u origin master的区别

《Git与Github使用笔记》解决:git push error: failed to push some refs to XXX

《Git与Github使用笔记》解决:git push error: failed to push some refs to XXX

git如何将当前分支的某个提交,push到本地其它分支上

Git commit 用户与 git push 用户不同