'heroku' não parece ser um repositório git


181

Quando tento enviar meu aplicativo para o Heroku, recebo esta resposta:

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

Please make sure you have the correct access rights
and the repository exists.

Eu tentei 'heroku keys: add', mas ainda aparece o mesmo resultado. Eu já tenho uma chave ssh para minha conta do GitHub.


que comando você usou para enviar? e quais etapas você executou antes?
StickMaNX

1
dê uma olhada na saída de git remote -vpara ver quais controles remotos você configurou.
John Beynon

1
verifique se você está no diretório certo. esse foi o meu problema.
Decreto

1
@tmthyjames - bang on, esse também era meu problema, obrigado!
55550 Andy Onassis é um desenvolvedor

Respostas:


432

Para adicionar um aplicativo Heroku como um controle remoto Git, você precisa executar heroku git:remote -a yourapp.

Fonte: Implantando com Git


6
Esta é a solução se você clonou o repositório.
JGallardo # 24/13

1
Após adicionar um controle remoto válido, observe que git push heroku masterhaverá falha se você estiver tentando implantar a partir de um subdiretório. Implantar com heroku deve ser feito a partir do diretório raiz com um package.json válido e pasta .git, como disse aqui stackoverflow.com/questions/38658038/...
júnior Mayhé

1
Eu acrescentaria que, yourappvocê quer dizer o nome do aplicativo heroku, que nem sempre pode corresponder ao nome do seu aplicativo no git ou localmente, etc.
Lee McAlilly

49

Você pode tentar o seguinte em seu diretório raiz:

// inicialize o git para o seu projeto, adicione as alterações e execute um commit

git init
git add .
git commit -m "first commit"

// crie o aplicativo heroku e envie para heroku

heroku create
git push heroku master

Não tenho certeza de onde você está no processo. Você também não precisa do github para implantar no heroku, apenas git. Espero que isto ajude!


2
Isso funcionou para mim. Só precisava executar o heroku create novamente. Por alguma razão, a primeira vez não criou um controle remoto git.
Joshua Dance

1
Antes de empurrar você precisa adicionar 'heroku git: remoto yourapp -a'
Jitendra

35

Primeiro, verifique se você está logado no heroku:

heroku login 

Digite suas credenciais.

É comum obter esse erro ao usar um repositório git clonado em uma nova máquina. Mesmo se suas credenciais heroku já estiverem na máquina, ainda não existe um link entre o repositório clonado e o heroku localmente. Para fazer isso, faça o cd no diretório raiz do repositório clonado e execute

heroku git:remote -a yourapp

1
Apenas uma observação para iniciantes, yourappacima está o nome do seu aplicativo nas configurações do painel Heroku
nkhil

9

Seguindo artigo oficial do Heroku :

Inicializar GIT

$ cd myapp
$ git init

$ git add .
$ git commit -m "my first commit"

Em seguida, crie (inicialize) o aplicativo heroku com:

$ heroku create YourAppName

Por fim, adicione o git remote:

$ heroku git:remote -a YourAppName

Agora você pode implantar seu aplicativo com segurança com:

$ git push heroku master

Você deve esperar um pouco e ver se não recebe nenhum erro / interrupção no console durante a implantação. Para detalhes, consulte o artigo heroku .


7

Siga estes passos:

$ heroku login

Criar um novo repositório Git
Inicialize um repositório git em um diretório novo ou existente

$ cd my-project/
$ git init
$ heroku git:remote -a appname

Implante seu aplicativo
Confirme seu código no repositório e implemente-o no Heroku usando o Git.

$ git add . 
$ git commit -am "make it better"
$ git push heroku master

Repositório Git
existente Para repositórios existentes, basta adicionar o controle remoto heroku

$ heroku git:remote -a appname

Erro: ---> Aplicativo não compatível com o buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz... não entendi, onde está errado?
KingRider 15/09

@KingRider Verifique qual aplicativo você está implantando. SE você implantar aplicativo python, não há necessidade de especificar Python no arquivo Requirement.txt
MD Shahrouq

4

Pode valer a pena verificar o arquivo de configuração na pasta .git. Se os parâmetros heroku estiverem ausentes, você receberá este erro heroku param

[remote "heroku"]
    url = git@heroku.com:`[Your heroku app].git
    fetch = +refs/heads/*:refs/remotes/heroku/*

a pasta .git deve estar no diretório de arquivos do computador local para o aplicativo que você criou no heroku. por exemplo, C: \ Users \ You \ Your app.git

Espero que isto ajude


3

Meu problema foi que eu usei o git (em vez do heroku git) para clonar o aplicativo. Então eu tive que:

git remote add heroku git@heroku.com:MyApp.git

Lembre-se de alterar o MyApp para o nome do seu aplicativo.

Então eu poderia prosseguir:

git push heroku master

3

Se esse erro aparecer, é porque não há um controle remoto chamado Heroku. Quando você cria um Heroku, se o controle remoto do git ainda não existe, criamos automaticamente um (assumindo que você esteja em um repositório do git). Para visualizar seus controles remotos, digite:

" git remote -v" # Para um aplicativo chamado 'appname', você verá o seguinte:

$ git remote -v
heroku git@heroku.com:appname.git (fetch)
heroku git@heroku.com:appname.git (push)

Se você vir um controle remoto para seu aplicativo, basta " git push master" e substituir pelo nome do controle remoto real.

Se estiver faltando, você pode adicionar o controle remoto com o seguinte comando:

git remote add heroku git@heroku.com:appname.git

Se você já adicionou um controle remoto chamado Heroku, poderá receber um erro como este:

fatal: remote heroku already exists.

então, remova o controle remoto existente e adicione-o novamente com o comando acima:

git remote rm heroku

Espero que isto ajude…


2

Para mim, a resposta foi entrar no diretório raiz do aplicativo antes de executar heroku createougit push heroku master


1

Eu encontrei o mesmo erro cometendo um erro muito mais iniciante: eu estava digitando Heroku com uma letra maiúscula "H", em vez de minúscula.

Reconheço que essa certamente não é a solução para todos que encontram esse erro, mas foi no meu caso.


1

Eu recebi o mesmo erro e, no final, eu estava no diretório errado. É um erro simples de fazer verificação de modo duplo que está na raiz e em seguida, executar heroku createe heroku git push masternovamente. É claro que você deve ter feito git init, como mencionado na resposta StickMaNX acima, já antes dos passos do heroku.



1

Você esqueceu de vincular o nome do seu aplicativo ao seu heroku. É um erro muito comum. se seu aplicativo não for criado, use:

heroku create (optional app name)

outro:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

0

Para aqueles que estão tentando fazer o heroku trabalhar no codeanywhereIDE:

heroku login
git remote add heroku git@heroku.com:MyApp.git
git push heroku

0

Eu tive que executar o prompt de comando do Windows com privilégios de administrador


Obrigado pela sua resposta. Talvez você possa explicar ao OP como isso é feito? Sempre ajuda, também para futuros espectadores deste segmento, a fornecer respostas o mais detalhadas possível.
Niels

O @niels encontra o ícone do cmd, por exemplo, no menu Iniciar. Em seguida, clique direito e pressione Executar como Administrador
Jesus Rodriguez

0

Os seguintes comandos funcionarão bem para a implantação de aplicativos ruby ​​on rails no heroku se o heroku já estiver instalado na máquina dos desenvolvedores. # indica um comentário

  1. heroku login
  2. heroku criar
  3. chaves heroku: add #this adiciona chaves de máquinas locais ao heroku para evitar a entrada repetida de senha
  4. git push heroku master
  5. heroku renomeia o novo nome do aplicativo # nome do aplicativo para o nome preferido, exceto o nome heroku gerado automaticamente



0

Eu já vi todas as respostas aqui e a única coisa que falta é depois de seguir estas etapas:

$ git add .
$ git commit -m "first heroku commit"

Você deve executar o comando abaixo:

$ heroku git:remote -a <YourAppNameOnHeroku>

E, finalmente, execute o seguinte:

$ git push -f heroku <NameOfBranch>:master

Observe que eu usei < NameOfBranch > porque, se você estiver atualmente em um ramo diferente para dominar, ainda gerará erros; portanto, se você estiver trabalhando em mestre, use mestre, ou então coloque o nome do ramo.


0

mostrar todos os aplicativos que heroku tenha acesso com

heroku apps

E verifique se seu aplicativo existe

 execute heroku git:remote -a yourapp_exist
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.