Não consigo mais clonar nenhum repositório.
$ git clone [email protected]:myaccount/myrep.git
Cloning into 'myrep'...
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
O problema é que minha chave ssh id_rsa ainda é a mesma. Eu recriá-lo de qualquer maneira, atualizei-o nas chaves ssh da minha conta BitBucket , e o mesmo erro aparece quando tento clonar meu repositório. Eu tentei o mesmo procedimento em outra máquina (redhat) e o git clone funcionou. Então, há algo acontecendo com git .
Então eu fui em outro projeto de versão do git:
$ cd share-repo
$ ls -a
./ ../ .git/ .gitignore* f1* f2*
Eu imprimo o arquivo git config :
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:myaccount/share-repo.git
[branch "master"]
[user]
name = myaccount
Eu tento um pull :
$ git pull -v
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Ok, vamos tentar um empurrão?
$ git push -v origin master
Pushing to [email protected]:myaccount/p2.git
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Huh? Git tenta empurrar para o repositório p2? Deve tentar empurrar para share-repo ... Como diabos ele está tentando empurrar para um repositório cujo nome é p2? De fato, eu tive um repo chamado p2 esta manhã, mas eu deletei da minha conta BitBucket enquanto fazia alguns testes, então eu removi a pasta relacionada p2 do meu computador. Como git reteve informações sobre p2 ? E acima de tudo, onde é armazenado, como posso redefini-lo?
$ git remote -v
origin [email protected]:myaccount/p2.git (fetch) # ?!
origin [email protected]:myaccount/p2.git (push) # ?!
origin [email protected]:myaccount/share-repo.git (push)
Estranho, como vimos anteriormente, o arquivo git config contém apenas informações sobre o repo share-repo . Também tentei localizar a string p2 na pasta inteira:
$ grep -Rin p2 ../share-repo/
# Nothing
Eu criei um repositório manualmente chamado p2 in Bitbucket . Eu tentei clonar:
$ cd ..
$ git clone [email protected]:myaccount/p2.git
Cloning into 'p2'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
$ cd p2
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = [email protected]:myaccount/p2.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
$ git remote -v
origin [email protected]:myaccount/p2.git (fetch)
origin [email protected]:myaccount/p2.git (push)
origin [email protected]:myaccount/p2.git (push)
Ok, o git clone funcionou, mas agora ele referencia duas linhas extras para os remotos, uma das quais é duplicada. Lembre-se dessas linhas extras ao trabalhar com o repo share-repo ? É sobre as primeiras duas linhas que ainda estão relacionadas ao antigo repo p2 que eu havia deletado.
Vamos tentar empurrar algumas alterações:
$ git touch .gitignore
$ git add .gitignore
$ git commit -m "first commit"
$ git push -v origin master
Pushing to [email protected]:myaccount/p2.git
Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:myaccount/p2.git
* [new branch] master -> master
updating local tracking ref 'refs/remotes/origin/master'
Pushing to [email protected]:myaccount/p2.git
To [email protected]:myaccount/p2.git
= [up to date] master -> master
updating local tracking ref 'refs/remotes/origin/master'
Everything up-to-date
Então, o git empurrou para repo p2 e tentou fazer isso uma segunda vez, já que os dois repos têm o mesmo nome e a mesma localização na minha conta bitbucket , então obviamente descobriu que tudo estava atualizado.
Agora, eu poderia clonar qualquer repositório que eu queira, contanto que o repo p2 exista na minha conta Bitbucket . Se eu quisesse push algumas mudanças em digamos share-repo , isso funcionaria, mas o git também tentaria empurrar as mesmas mudanças para o repositório p2 . É uma bagunça que eu me meti e não sei como resolver isso.
Para resumir, eu tive esta manhã um repositório chamado
p2 que eu deletei de
bitbucket , então eu apaguei sua pasta do meu computador. Desde então, qualquer que seja o projeto git eu
cd em,
git remote -v me mostra que ele tem armazenado - em algum lugar - informações relacionadas ao repo final
p2 , em cima do repositório atual que estou trabalhando. Os comandos de atualização do Git - clone, push, pull - não funcionarão a menos que eu crie de volta esse repo
p2 on
Bitbucket . Depois de fazer isso, os comandos de atualização do git aplicarão os comandos ao repositório atual em que estou trabalhando, bem como ao repo p2.
p2 não é o único repositório que eu excluí hoje, então estou curioso para saber o que aconteceu aqui.
Terei todo o prazer em receber toda a ajuda possível.