tag remove practices drop delete commits commands best git github git-push

git - remove - ![rechazado] maestro-> maestro(buscar primero)



git tag commits (11)

A veces sucede cuando duplica archivos que suelen ser README.

¿Hay una buena manera de explicar cómo resolver " ! [rejected] master -> master (fetch first)'' " en Git?

Cuando uso este comando $ git push origin master , muestra un mensaje de error.

! [rejected] master -> master (fetch first) error: failed to push some refs to ''[email protected]:zapnaa/abcappp.git''


Deberías usar git pull , ese comando hace un git fetch y luego el git merge .

Si usa un comando git push origin master --force , puede tener problemas en el futuro.


Es probable que alguien más (p. Ej., Su colega) haya puesto commits en origin/master que no están en su rama master local, y está tratando de enviar algunos commits desde su rama local al servidor. En el 99% de los casos, suponiendo que no desea borrar su trabajo del origin , tiene dos opciones:

2) Combine sus cambios en su sucursal local y luego presione el resultado combinado. git checkout master git pull # resolve conflicts here git push

(Tenga en cuenta que git pull es esencialmente solo una git pull git fetch y una git merge en este caso).

1) Vuelva a establecer la base de su sucursal local, de modo que parezca que su colega realizó sus confirmaciones primero, y luego usted realizó sus confirmaciones. Esto mantiene el historial de confirmación agradable y lineal, y evita una "confirmación de fusión". Sin embargo, si tiene conflictos con los cambios de su colega, es posible que tenga que resolver esos conflictos para cada uno de sus compromisos (en lugar de solo una vez) en el peor de los casos. Esencialmente, esto es más agradable para todos los demás, pero requiere más esfuerzo para usted. git pull --rebase # resolve conflicts here git push

(Tenga en cuenta que git pull --rebase es esencialmente un git fetch y un git rebase origin/master ).


Esto funcionó para mí:

$ git add . $ git commit -m "commit" $ git push origin master --force


La respuesta está ahí, git te dice que vayas a buscar primero.

Probablemente alguien más ya ha presionado para dominar, y su compromiso está detrás. Por lo tanto, debe buscar, fusionar el conjunto de cambios y luego podrá presionar nuevamente.

Si no lo hace (o peor aún, si lo fuerza usando la opción --force ), puede arruinar el historial de confirmación.

EDITAR: Me pongo en más detalles sobre el último punto, ya que un chico aquí acaba de dar el muy mal consejo de usar la opción --force .

Como git es un DVCS, lo ideal es que muchos otros desarrolladores estén trabajando en el mismo proyecto que usted, utilizando el mismo repositorio (o una bifurcación). Si sobrescribe con fuerza con su conjunto de cambios, su repositorio no coincidirá con el de otras personas, porque "reescribió el historial". Harás infelices a otras personas y el repositorio sufrirá. Probablemente un gatito en el mundo también llorará.

TL; DR

  1. Si quieres resolver, busca primero (y luego combina).
  2. Si quieres hackear, usa la opción --force .

Sin embargo, pediste lo primero. Vaya por 1) siempre, incluso si siempre usará git usted mismo, porque es una buena práctica.


Prueba este comando git

git push origin master --force

o corto de fuerza -f

git push origin master -f


Puede usar el siguiente comando: Primero clone una copia nueva de su repositorio, usando la bandera --mirror:

$ git clone --mirror git://example.com/some-big-repo.git

Luego siga los códigos en consecuencia:

Agregar un proyecto existente a GitHub usando la línea de comando

Incluso si eso no funciona, simplemente puede codificar:

$ git push origin master --force

o

$ git push origin master -f


Su error puede deberse a la rama de fusión.
Solo sigue esto:

Paso 1: git pull origin master (en caso de que recibas algún mensaje, ignóralo)
Paso 2: git add .
Paso 3: git commit -m ''your commit message''
paso 4: git push origin master


pull siempre es el enfoque correcto, pero una excepción podría ser cuando intentas convertir un sistema de archivos sin Git a un repositorio de Github. Allí tendrías que forzar el primer compromiso.

git init git add README.md git add . git commit -m "first commit" git remote add origin https://github.com/userName/repoName.git git push --force origin master


tratar:

git fetch origin master git merge origin master

Después de escribir este código, recibí otro error: (no avance rápido)

Escribo este código:

git fetch origin master:tmp git rebase tmp git push origin HEAD:master git branch -D tmp

Y resolvió mi problema


este trabajo para mi

  1. git init

  2. git add --todos

3.git commit -m "nombre"

4.git push origin master --force