Git push: "fatal 'origin' no parece ser un repositorio de git - fatal No se pudo leer desde el repositorio remoto".


119

Sé que ya se han hecho preguntas similares.

Pero creo que mi problema se debe a un error que cometí anteriormente y, por lo tanto, es diferente: déjame explicarte.

Todo estaba funcionando sin problemas, como pude:

  • git add . todos los archivos de mi repositorio local.
  • git commit -m "message here" para agregar mensajes a mis confirmaciones.
  • git push origin master para subir mis archivos a GitHub.
  • git push heroku master para subir mis archivos a Heroku.

Sin embargo, en algún momento, creé una nueva rama llamada localmente add-calendar-modelen caso de que los próximos pasos del desarrollo de la aplicación fueran al sur ...

... Qué es exactamente lo que sucedió.

Sin embargo, a pesar de muchos intentos, no logré obtener el código inicial, es decir, el código de antes de crear la nueva rama, de la masterrama a mi repositorio local.

Entonces, decidí eliminar manualmente todos los archivos de mi repositorio local y git clonemi masterrama de GitHub.

De esta manera, recuperé todos mis archivos, pero ahora no puedo enviar más al repositorio remoto.

Cada vez que intento ejecutar git push origin add-calendar-modelo git push origin master, aparece el siguiente error:

fatal: 'origin' 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.

No me siento muy cómodo con Git y GitHub, como ya habrás adivinado, y debo admitir que no tengo ni idea de cómo solucionarlo.

¿Alguna idea?


Tuve un error similar, pero mi problema fue que había inicializado git en el directorio principal de la carpeta actual que estaba probando. Por si acaso, si alguien todavía está mirando, puede mirar dónde se inicializa el git y luego intentarlo de nuevo.
Himanshu Kriplani

Respuestas:


215

Primero, verifique que su origen esté establecido ejecutando

git remote -v

Esto debería mostrarle todos los controles remotos push / fetch del proyecto.

Si esto regresa sin salida, salte al último bloque de código.

Verificar nombre / dirección remota

Si esto vuelve a mostrar que tiene controles remotos configurados, verifique que el nombre del control remoto coincida con el control remoto que está usando en sus comandos.

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master

Si desea cambiar el nombre del control remoto o cambiar la URL del control remoto, primero querrá eliminar el control remoto anterior y luego agregar el correcto.

Retire el viejo control remoto

$git remote remove myOrigin

Agregar control remoto faltante

Luego puede agregar el control remoto adecuado usando

$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin master

Funcionó para mí sin el ssh://frente degit@example.com:1234/myRepo.git
Carol-Theodor Pelu

Estaba leyendo esta pregunta si también podría ayudar con el nuevo error de inserción del repositorio.
StaticVariable

12

Como Matt Clark dijo anteriormente

Sin embargo, es posible que el origen no esté configurado, así que omita el paso de eliminación y simplemente intentar agregar puede aclarar esto.

git remote add origin <"clone">

Donde "clonar" es simplemente ir a su repositorio de GitHub y copiar la "URL de clonación HTTPS" y pegarla en GitBash


3

Asegúrese de que el archivo de configuración en .git sea correcto ... Verifique la URL y asegúrese de que está utilizando el protocolo correcto para sus claves ... ProjectWorkspace / .git / config

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://emmap1@bitbucket.org/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

Estamos mirando la URL ... por ejemplo: Para bitbucket, espere git@bitbucket.org .... Si es gitbucket.org. realice los cambios necesarios. GUARDAR Intente presionar nuevamente.


1

Esto funciona para mi.

git remote add origin https://github.com/repo.git
git push origin master

agregue la URL del repositorio al origen en el directorio de trabajo local


0

Aparece un error similar al extraer los cambios desde el origen. Si está probando en Intellij desde las opciones del menú, es posible que la extracción no funcione directamente.

Vaya a la terminal y escriba este comando y esto debería funcionar: git pull origin master


0

Tuve el mismo problema. Cuando revisé mi archivo de configuración, noté que 'fetch = + refs / heads / : refs / remotes / origin / ' estaba en la misma línea que 'url = Z: /GIT/REPOS/SEL.git' como se muestra:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

Al principio no pensé que esto hubiera importado pero luego de ver el post de Magere moví la línea y eso solucionó el problema:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

0

si agrega su repositorio remoto usando git clone, siga los pasos: -

git clone <repo_url> luego

git init

git add * * significa agregar todos los archivos

git commit -m 'your commit'

git remote -vpara verificar si se ejecuta cualquier rama o no, si no, no se muestra nada, luego agregamos o recuperamos el repositorio. " buscar primero" . Necesitas correr git pull origin <branch> o git pull -r origin <branch>antes de un próximo empujón .

luego

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```

0

Esta es la forma en que actualicé la rama maestra

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master

1
Intente agregar explicaciones a su respuesta de una manera que aborde la pregunta e intente ayudar al lector a comprender. Actualmente, se lee como una anécdota y ni siquiera funcionaría en el caso general (por ejemplo, https://github.com/es la raíz del sitio web y un repositorio de git)
Kache

-3

A veces, no tiene un REF local para devolver esa rama al origen.
Tratar

git push origin master:master

Esto indica explícitamente a qué rama empujar (y desde)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.