tag remove practices crear best git push

git - remove - maestro rechazado-> maestro(no avance rápido)



git tag best practices (16)

! [rechazado] maestro -> maestro (no avance rápido)

No entre en pánico, esto es extremadamente fácil de arreglar. Todo lo que tienes que hacer es emitir un jalón y tu sucursal avanzará rápidamente:

$ git pull myrepo master

Luego vuelva a intentar su impulso y todo debería estar bien:

$ git push github master

Estoy tratando de impulsar mi proyecto (todos los archivos en un nuevo repositorio). Sigo los pasos pero cuando presiono con git push -u origin master obtengo este error:

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to ''[email protected]:asantoya/projectnewbies.git'' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. ''git pull'') before pushing again. See the ''Note about fast-forwards'' section of ''git push --help'' for details.

Realmente muchas veces recibí este error y no puedo entender qué hacer.


Acabo de recibir este error.

Creé un repositorio github después de crear mi repositorio git local, así que tuve que aceptar los cambios en local antes de pasar a github. En este caso, el único cambio fue el archivo Léame creado como paso opcional al crear el repositorio github.

git pull https://github.com/*username*/*repository*.git master

El repositorio URL se obtiene desde aquí en la página del proyecto github:

Luego reinicié (esto puede no ser necesario)

git init git add . git commit -m "update"

Luego presione:

git push


Como dice el mensaje de error: git pull antes de intentar hacer git push . Aparentemente, su sucursal local no está sincronizada con su sucursal de seguimiento.

Dependiendo de las reglas del proyecto y su flujo de trabajo, es posible que también desee utilizar git pull --rebase .


Creé un nuevo repositorio en github y tuve el mismo problema, pero también tuve problemas al tirar, así que esto funcionó para mí.

pero esto no se aconseja en los repos que ya tienen muchos códigos ya que esto podría estropear todo

git push origin master --force


Esto me sucedió cuando estaba en la rama de desarrollo y mi rama principal no está con la última actualización.

Entonces, cuando traté de empujar git desde la rama de desarrollo, tuve ese error.

Lo arreglé cambiando a la rama principal, git pull, luego volví a desarrollar branch y git push.

$ git fetch && git checkout master $ git pull $ git fetch && git checkout develop $ git push


Esto se debe a que ha realizado cambios conflictivos a su maestro. Y su servidor de repositorio no puede decirle eso con estas palabras, por lo que le da este error porque no se trata de que él se ocupe de estos conflictos por usted, entonces él le pide que lo haga por sí mismo. Como ?

1- git pull Esto fusionará su código de su repositorio con su código de su sitio maestro. Entonces se muestran los conflictos.

2- tratar estos conflictos manualemente.

3-

git push origin master

Y listo, tu problema ha sido resuelto.


Esto se debe a que hiciste algunos cambios en tu maestro, por lo que el proyecto te pide que selecciones primero. Si desea presionarlo de todos modos, puede usar la fuerza bruta escribiendo esto:

git push -f origin master

Recuerde primero comprometer sus cambios:

git add . git commit -m "Your commit message"


Lo único que pude resolver fue eliminar el repositorio local y git y crear el mismo de nuevo en ambos extremos. Funciona bien por ahora.


Necesitas hacer

git branch

si el resultado es algo así como:

* (no branch) master

entonces hazlo

git checkout master

Asegúrate de no tener ningún compromiso pendiente, ya que perder todos los cambios no comprometidos se perderá.


Prueba esto: git push -f origin master



Si git pull no ayuda, entonces probablemente haya empujado sus cambios (A) y luego haya usado git commit --amend para agregar algunos cambios más (B). Por lo tanto, git piensa que puede perder la historia: interpreta B como una confirmación diferente a pesar de que contiene todos los cambios de A.

B / ---X---A

Si nadie cambia el repositorio después de A , entonces puedes hacer git push --force .

Sin embargo, si hay cambios después de A de otra persona:

B / ---X---A---C

luego debe volver a establecer la base de que las personas cambian de A a B ( C -> D ).

B---D / ---X---A---C

o arregla el problema manualmente No pensé cómo hacer eso todavía.


Tuve este problema en una máquina de desarrollo. La rama dev estaba yendo bien, pero la rama master me la dio (mientras que git push pushing cuando estaba en la rama dev ):

! [rejected] master -> master (non-fast-forward)

Así que lo intenté:

git checkout master git pull

Lo cual me dio:

You asked me to pull without telling me which branch you want to merge with, and ''branch.master.merge'' in your configuration file does not tell me, either.

Descubrí que la rama principal faltaba en .git/config y agregué:

[branch "master"] remote = origin merge = refs/heads/master

Luego, git push también funcionó bien en la rama de desarrollo.


Yo tuve el mismo problema. Yo uso Git Totoise. Simplemente haga clic derecho -> TotoiseGit -> Limpieza. Ahora puedes presionar a Github. Funcionó bien conmigo: D


usa este comando:

git pull --allow-unrelated-histories <nick name of repository> <branch name>

me gusta:

git pull --allow-unrelated-histories origin master

este error ocurre cuando los proyectos no tienen ningún antecesor común.


ADVERTENCIA:

Ir por un ''git pull'' no es SIEMPRE una solución. Puede enfrentar este problema (el que se menciona en la Q) si ha cambiado intencionalmente su historial de repositorio. En ese caso, git confunde los cambios en su historial con los nuevos cambios en su repositorio remoto. Por lo tanto, debes optar por un git push --force , ya que llamar a git pull deshace intencionalmente todos los cambios que hiciste en tu historial.