were - resolver conflictos git
error de git: no se pudo empujar algunos refs a (19)
Por alguna razón, no puedo empujar ahora, mientras que podría hacerlo ayer. Tal vez me equivoqué con configs o algo así.
Esto es lo que pasa:
Cuando uso el git push origin master
Cómo se ve mi directorio de trabajo y mi repositorio remoto:
¿Alguien lo intentó?
git push -f origin master
Eso debería resolver el problema.
EDITAR: Basado en el comentario de @Mehdi a continuación, necesito aclarar algo sobre la
—force pushing
. El comando git de arriba funciona de forma segura solo para la primera confirmación. Si ya había confirmaciones, solicitudes de extracción o ramas en la anterior, esto se restablece todo y se establece desde cero. Si es así, consulte la respuesta detallada de @VonC para una mejor solución.
1) git init
2) git remoto agregar origen https://gitlab.com/crew-chief-systems/bot
3) git remote -v (para comprobar el repositorio actual)
4) git add -A (agregar todos los archivos)
5) git commit -m ''Agregué mi proyecto''
6) git pull - master de origen de base
7) git push origin master
Bueno, si ninguna de las respuestas anteriores funciona y si ha estropeado algo con ssh-add
últimamente. Tratar
ssh-add -D
Creando una nueva rama resuelta para mi:
git checkout -b <nameOfNewBranch>
Como era de esperar, no hay necesidad de fusionarse ya que la rama anterior estaba completamente contenida en la nueva.
En mi caso el cierre del editor (código de estudio visual) resolvió un problema.
En mi caso, este error ocurrió porque hubo un cierto mantenimiento en nuestra versión de GitLab.
Encuentro la solución a este problema en github help.
Puede verlo en: Cómo lidiar con errores de no avance rápido
Dice:
Puede solucionar este problema extrayendo y fusionando los cambios realizados en la rama remota con los cambios que ha realizado localmente:
$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin branch
# Merges updates made online with your local work
O, simplemente puede usar git pull para ejecutar ambos comandos a la vez:
$ git pull origin branch
# Grabs online updates and merges them with your local work
No cometer cambios iniciales antes de empujar también causa el problema
No estoy seguro de si esto se aplica, pero la solución para mí fue cometer algo localmente después de git init. Luego empujé a control remoto usando --set-upstream ...
Recuerda cometer tus cambios antes de empujar a Github repo. Esto podría solucionar su problema.
Renombra tu rama y luego presiona, por ejemplo:
git branch -m new-name
git push -u new-name
Esto funcionó para mí.
Si acaba de usar git init
y ha agregado sus archivos con git add .
o algo similar y ha agregado su sucursal remota, es posible que simplemente no haya cometido ( git commit -m ''commit message''
) localmente algo para enviar al remoto ... Acabo de tener este error y ese fue mi problema.
Si el repositorio de GitHub ha recibido nuevas confirmaciones, mientras trabajaba localmente, aconsejaría usar:
git pull --rebase
git push
La sintaxis completa es:
git pull --rebase origin master
git push origin master
De esa manera, volvería a reproducir (la parte --rebase
) sus confirmaciones locales sobre el origin/master
recién actualizado (u origin/yourBranch
: git pull origin yourBranch
).
Vea un ejemplo más completo en el capítulo 6 Tire con rebase del libro de bolsillo Git .
Yo recomendaría a:
git push -u origin master
Eso establecería una relación de seguimiento entre su sucursal maestra local y su sucursal ascendente.
Después de eso, cualquier impulso futuro para esa rama se puede hacer con un simple:
git push
Consulte " ¿Por qué necesito empujar explícitamente una nueva rama? ".
Dado que el OP ya reinició y rehizo su confirmación sobre el origin/master
:
git reset --mixed origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin master
No hay necesidad de pull --rebase
.
Nota: git reset --mixed origin/master
también se puede escribir git reset origin/master
, ya que la opción --mixed
es la predeterminada cuando se usa git reset
.
Si está utilizando gerrit, esto podría deberse a un ID de cambio inadecuado en la confirmación. Intenta eliminar el Change-Id y ver qué pasa.
También puedes arreglarlo editando el archivo de configuración git de tu proyecto:
¿Dónde está?
.git / config
Agrega las siguientes líneas al final si no lo son.
[branch "master"] remote = origin merge = refs/heads/master
Esto solucionó mi problema
Tuve el mismo problema Estaba teniendo este problema porque no había hecho ningún compromiso, ni siquiera el compromiso inicial y aún estaba tratando de empujar.
Una vez hice git commit -m "your msg"
y luego todo funcionó bien.
Tuve el mismo problema Prueba esto :
git pull --all
git push -f origin master
antes de empujar, debe agregar y confirmar los cambios o hacer git push -f origin master
error de git: no se pudo enviar algunos refs también cuando el nombre del repositorio local coincide con el nombre del repositorio remoto correspondiente. Asegúrese de que está trabajando en el par correcto de repositorio antes de Extraer los cambios al repositorio remoto. En caso de que escriba incorrectamente y desee eliminar el uso del repositorio local siguiendo los pasos
Elimine el repositorio local de las ventanas 1. del / F / S / Q / A .git 2. rmdir .git 3. Corrija el nombre de la carpeta local (XXXX02-> XXXX20) o si es un repo recién creado, elimínelo y vuelva a crear el repo (XXXX02 nombre de Repo cambiado a XXXX20). 4. git init 5. Reasignar con repo remoto si no está asignado. 6. git remoto agregar origen https://github.com/ /XXXX20.git 7. git push -u origin master