Estoy tratando de empujar uno de mis proyectos a github, y sigo recibiendo este error:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Así que lo probé y obtuve esto:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Otro hilo de stackoverflow sugirió que intente lo siguiente, con resultados decepcionantes.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Entonces probé esto:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
¿Alguna pista?
git
comandos que el OP publicó me ayudó, incluso más que las respuestasRespuestas:
Usted arregló la inserción, pero, independientemente de ese problema de inserción (que expliqué en " ¿Por qué necesito empujar explícitamente una nueva rama? ":
git push -u origin master
Ogit push -u origin --all
), ahora necesita resolver el problema de autenticación.Eso depende de su url (ssh como en '
[email protected]/yourRepo
o https como enhttps://github.com/You/YourRepo
)Para la URL https:
Si su cuenta está protegida por la autenticación de dos factores , su contraseña habitual no funcionará (para https url), como se explica aquí o aquí .
Mismo problema si su contraseña contiene caracteres especiales (como en esta respuesta )
Si https no funciona (porque no desea generar una clave secundaria, una PAT: token de acceso personal), puede cambiar a ssh, como he mostrado aquí .
Como señaló qwerty en los comentarios, puede crear automáticamente la rama del mismo nombre en el control remoto con:
¿Por qué?
.git\HEAD
archivo) tiene la refspec de la rama actualmente desprotegido (por ejemplo:ref: refs/heads/master
)Dado que la especificación utilizada para este empuje es head: (sin destino), falta un
:<dst>
medio para actualizar la misma referencia que<src>
(head, que es una rama).Sin embargo, eso no funcionará si HEAD está separado .
fuente
git push origin head -u
. Crea automáticamente la rama del mismo nombre en el control remoto.También puede usar el siguiente comando:
Esto crea (-u) otra rama en su repositorio remoto. Una vez que se realiza la autenticación utilizando ssh, eso es todo.
fuente
-u
opción es el acceso directo para la--set-upstream
opción que no tiene nada que ver con la creación de una nueva rama. De la documentación de la opción-u
u--set-upstream
: "Para cada rama que esté actualizada o que se haya enviado correctamente, agregue una referencia ascendente (seguimiento), utilizada por git-pull [1] sin argumentos y otros comandos". En realidad, no entiendo por qué esta respuesta se votó tanto como es engañosa.Aparentemente, también recibe este mensaje de error cuando olvida el
--all
parámetro al presionar por primera vez. escribíque dio este error, debería haber sido
Oh, cómo amo estos errores de copiar y pegar ...
fuente
Primero debe configurar el control remoto y luego presionar.
Instrucciones reales
fuente
Por favor intente este escenario
fuente
Si define la acción
git push
, debería tomarla si no se proporciona refspec en la línea de comando, no se configura refspec en el control remoto y ninguna de las opciones dadas en la línea de comando implica ninguna refspec.Simplemente hazlo:
luego
fuente
Bueno, estaba teniendo el mismo problema mientras cargaba y lo resolví haciendo lo mismo que dice hacer: anteriormente estaba tratando de pasar la terminal a mi repositorio en Linux por https como
Pero no estaba obteniendo ningún resultado y, por lo tanto, profundicé e intenté:
Y funcionó. Por lo tanto, se le solicitará un nombre de usuario y una contraseña. También generé un token y, en lugar de Password, pegué el token y, por lo tanto, lo hice con éxito.
fuente
en un lado muy simple, una vez que tienes otras ramas, no puedes usar para empujar una rama
Pero debe especificar la rama ahora, incluso si ha finalizado la compra de la rama que desea empujar, por lo que
¿Dónde puede estar incluso la
master
ramafuente
Cometí el simple error de olvidar cometer:
Entonces
git push origin master
funcionó.fuente
Yo tuve el mismo problema
Lo resolví usando el siguiente comando
y agregará una configuración en el archivo de configuración en la carpeta .git.
fuente
Primer uso
git pull origin your_branch_name
Luegouse git push origin your_branch_name
fuente
Hay una solución simple para esto que funcionó para mí en macOS Sierra. Hice estos dos comandos:
Si muestra algún error fatal con respecto al flujo ascendente después de cualquier impulso futuro, simplemente ejecute:
fuente
1. Una computadora y su github asociados. Usa SSH. Código de computadora para que no necesite enviar verificado ingrese la descripción de la imagen aquí
2. git no puede administrar la carpeta vacía. Entonces debe escribir un archivo readme.md guardado en un archivo. De lo contrario, no encontrará el archivo.
3. Su proyecto local no es nada sobre lo que se muevan nuevos proyectos. Por favor
git init
git remote add origin +"githublink"
git add .
git commit -m ""
ve otra vez.4. entonces
git pull origin master
(la clave)5. Por fin
git push origin master
(resolver todos los problemas).http://my.oschina.net/psuyun/blog/123005参考 链接
fuente
Si está intentando enviar su código directamente a la rama maestra, use el comando
Me ayuda.
fuente
También recibí el mismo error. Creo que fue porque lo cloné e intenté retroceder. $ git push -u maestro de origen Este es el comando correcto.
Contando objetos: 8, hecho. Compresión Delta usando hasta 2 hilos. Comprimir objetos: 100% (4/4), hecho. Escribir objetos: 100% (8/8), 691 bytes | 46.00 KiB / s, hecho. Total 8 (delta 1), reutilizado 0 (delta 0) remoto: Resolviendo deltas: 100% (1/1), hecho.
[nueva sucursal] maestro -> maestro Maestro de sucursal configurado para rastrear el maestro de sucursal remoto desde el origen.
fuente
Tuve el mismo problema, la causa fue que olvidé especificar la rama
fuente
Para mí, estaba impulsando los cambios a un repositorio privado al que no tenía acceso de escritura. Asegúrese de tener los derechos de acceso válidos al realizar operaciones push o pull.
Puedes verificar directamente a través de
fuente
Para mí, fue porque había eliminado la carpeta oculta .git .
Lo arreglé eliminando la carpeta, volviendo a clonar y volviendo a hacer los cambios.
fuente
Si está en alguna sucursal, puede usar esto:
Esto creará automáticamente una nueva rama del mismo nombre en el control remoto.
fuente
Para resolver este problema, mientras revisa el código de
git
sí mismo, debe dar el comando como se muestra a continuación:git checkout -b branchname origin/branchname
Aquí, de forma predeterminada, estamos configurando
the upstream branch
, por lo que no enfrentará el problema mencionado.fuente
Para mí, el problema proviene del nombre de mi sucursal: "# name-of-my-branch", sin "#" ¡funciona bien!
fuente