remove - git tags best practices
git: las actualizaciones fueron rechazadas porque el control remoto contiene trabajo que no tienes localmente (7)
Lo arreglé, no estoy exactamente seguro de lo que hice. Intenté simplemente empujar y tirar usando:
git pull <remote> dev
lugar de git pull <remote> master:dev
Espero que esto ayude a alguien si tienen el mismo problema.
Estoy trabajando en un equipo con algunos desarrolladores que usan git en BitBucket. Todos estamos trabajando en una rama de desarrollo, no presionando para master
hasta un lanzamiento.
Uno de los desarrolladores cometió un código incorrecto que sobrescribió el mío por accidente, y ahora estoy tratando de devolver el código correcto al repositorio. He estado leyendo sobre este error durante unos días, ya no puedo presionar al repositorio porque me aparece el siguiente error:
! [rejected] master -> dev (fetch first)
error: failed to push some refs to ''https://[email protected]/repo_user/repo_name.git''
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ''git pull ...'') before pushing again.
hint: See the ''Note about fast-forwards'' in ''git push --help'' for details.
Sigo las instrucciones y pull
, pero luego recibo un conflicto de fusión. Después de ingresar un mensaje para el conflicto de fusión, mi código local ahora es el código incorrecto que el otro desarrollador cargó por accidente (como se esperaba de la pull
). Así que reemplazo el código incorrecto con la copia de seguridad que copié antes de comprometerme, y cuando intento presionar de nuevo, obtengo el mismo error.
Es realmente frustrante, realmente quiero ayudar a mi equipo y contribuir, pero no puedo debido a este error. ¿Alguien sabe cómo resolver este problema? Apreciaría mucho cualquier ayuda.
Estos son los comandos que ejecuto para comprometer, si ayuda a alguien:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
Hubiera pensado que si mantenía esta orden, no recibiría conflictos de fusión. Creo que estaba equivocado. Gracias de nuevo
Actualización: Debo añadir que he buscado algunas horas en Google y stackoverflow, y seguí instrucciones diferentes, pero todavía no puedo push
a la rama de desarrollo.
Necesita ingresar:
$ git pull
$ git fetch
$ git merge
Si usas una git push origin master --force
, tendrás un gran problema.
Sucede cuando estamos tratando de enviar contenido al repositorio remoto, pero hemos creado un nuevo archivo en el control remoto que aún no se ha extraído, digamos Readme
. En ese caso, como dice el error
git rechaza la actualización
ya que no hemos tomado control remoto actualizado en nuestro entorno local. Así que toma primero tirar del control remoto
git pull
Actualizará su repositorio local y agregará un nuevo archivo Readme
. Luego presione los cambios actualizados en el control remoto
git push origin master
Tuve este error y fue porque había una actualización en el servidor pero SourceTree no mostraba ninguna actualización disponible (posiblemente porque estaba fuera de línea la última vez que lo comprobé). Así que hice una actualización en el árbol fuente y ahora muestra 2 elementos para enviar en lugar de 1 artículo.
Así que asegúrese de presionar actualizar o extraer si obtiene este error y luego intente de nuevo.
Use este comando en termial
git push -f origin master
git pull <remote> master:dev
buscará la rama remote/master
y la fusionará en su rama local/dev
.
git pull <remote> dev
buscará la rama remote/dev
y la fusionará en su rama actual.
Creo que dijiste que el compromiso conflictivo está en remote/dev
, así que esa es la rama que probablemente intentabas buscar y fusionar.
En ese caso, en realidad no estaba fusionando el conflicto en su sucursal local, lo cual es un poco extraño ya que dijo que vio el código incorrecto en su copia de trabajo. Es posible que desee comprobar lo que está sucediendo en remote/master
.
Well actually github is much simpler than we think and absolutely it happens whenever we try to **push** even after we explicitly inserted some files in our git repository so, in order to fix the issue simply try..
: git pull
y entonces..
: git push
Nota: si accidentalmente te quedaste en el editor vim después de tirar de tu repositorio, entonces no te preocupes, cierra el editor vim y prueba push :)