Como mudar um controle remoto Git no Heroku


105

Não quero carregar meu aplicativo para o domínio errado.

Como posso alterar o branch master do git no git?


Sim. Eu criei um novo aplicativo heroku: heroku create myapp. Mas eu tenho outro aplicativo no heroku. Eu só quero mudar o git master para o novo aplicativo. Para que eu possa dizer git push heroku master. E o código será carregado no novo aplicativo, não no antigo.
Jon

Respostas:


175

Se você estiver trabalhando no herokucontrole remoto (padrão):

heroku git:remote -a [app name]

Se você deseja especificar um controle remoto diferente, use o -rargumento:

heroku git:remote -a [app name] -r [remote] 

EDITAR: obrigado a Алексей Володько Por apontar que não há necessidade de excluir o controle remoto antigo.


8
Apenas segui essa abordagem e parece ser a maneira correta ATUAL de fazer isso.
Joe

1
Como não houve uma resposta correta designada pelo OP e essa resposta é, em geral, a resposta à pergunta do OP e tem mais votos positivos do que a resposta "principal" acima, por que essa resposta ainda é mostrada abaixo da resposta menos aceita? Obrigado.
Devon Kiss

5
Não há necessidade nem de remover o antigo remoto git. heroku git:remote -a appname- substituirá o antigo perfeitamente.
Alexey Volodko

101

Supondo que seu controle remoto atual tenha o nome origin:

Exclua a referência remota atual com

git remote rm origin

Adicione o novo controle remoto

git remote add origin <URL to new heroku app>

empurrar para o novo domínio

git push -u origin master

O -uirá configurar isso como rastreado.


Como posso saber o nome da minha origem?
Rails iniciante em

1
você pode explicar o que você quis dizer aqui? The -u will set this up as tracked.Obrigado!
dia

1
@uDay Significa que quando você pedir um pull, ele saberá como buscar e mesclar este branch
Abizern

1
Gostaria de atualizar esta resposta para remover o heroku remote inicialmente - não o git remote origin master ...
zero_cool

6

Isso funcionou para mim:

git remote set-url heroku <repo git>

Este antigo url heroku de substituição.

Você pode verificar com:

git remote -v

5
  1. Ver URLs remotos

    > git remote -v

    heroku  https://git.heroku.com/###########.git (fetch) < your Heroku Remote URL
    heroku  https://git.heroku.com/############.git (push)
    origin  https://github.com/#######/#####.git (fetch) < if you use GitHub then this is your GitHub remote URL
    origin  https://github.com/#######/#####.git (push)
  1. Remover URL remoto Heroku

    > git remote rm heroku

  2. Definir novo URL Heroku

    > heroku git:remote -a ############

E você está pronto.


3

Você pode ter quantos branches desejar, como um repositório git regular, mas de acordo com a documentação do heroku, qualquer branch diferente masterserá ignorado.

http://devcenter.heroku.com/articles/git

Ramos enviados para o Heroku que não sejam o mestre serão ignorados. Se estiver trabalhando em outro branch localmente, você pode mesclar para master antes de enviar ou especificar que deseja enviar seu branch local para um master remoto.

Isso significa que você pode enviar o que quiser, mas seu aplicativo no heroku sempre apontará para o branch master.

Mas, se você tiver dúvidas sobre como criar branches e trabalhar com o git, você deve verificar esta outra questão


1
Como mudo o git master?
Jon

O que você quer dizer com isso? por change the git mastervocê quer dizer altera arquivos e, em seguida, efetua o commit e empurra para ele? renomear? O que exatamente você está tentando fazer?
Felipe Sabino

1
Acabei de ver seu comentário sobre a questão, você está tendo problemas com remoto, e não com branches ... veja a resposta do @Abizern :)
Felipe Sabino

1

aqui está uma resposta melhor encontrada nos documentos do Git.

Isso mostra o que é o controle remoto heroku:

$ git remote get-url heroku

Encontrado aqui: https://git-scm.com/docs/git-remote Também nesse documento está um set-url, se você precisar alterá-lo.


0

Se você tiver vários aplicativos no heroku e quiser adicionar alterações a um aplicativo específico, execute o seguinte comando: heroku git: remote -a appname e execute o seguinte. 1) git add. 2) git commit -m "changes" 3) git push heroku master

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.