La respuesta está ahí, git te dice que busques primero.
Probablemente alguien más ya haya presionado para dominar y tu compromiso está retrasado. 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 --force
opción), puede estropear el historial de confirmaciones.
EDITAR: Entro en más detalles sobre el último punto, ya que un tipo de aquí acaba de dar el Muy Mal Consejo de usar la --force
opción.
Como git es un DVCS, idealmente muchos otros desarrolladores están trabajando en el mismo proyecto que tú, usando 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
- Si desea resolverlo, busque primero (y luego fusione).
- Si quieres hackear, usa la
--force
opción.
Sin embargo, preguntaste por el primero. Opte por 1) siempre, incluso si siempre usará git solo, porque es una buena práctica.
tratar:
Después de escribir este código, recibí otro error: (no avance rápido)
Escribo este código:
Y resolvió mi problema
fuente
git merge master
.Deberías usar
git pull
, ese es el comando haz aygit fetch
luego haz elgit merge
.Si usa un
git push origin master --force
comando, es posible que tenga problemas en el futuro.fuente
pull es siempre el enfoque correcto, pero una excepción podría ser cuando intentas convertir un sistema de archivos que no sea Git en un repositorio Github. Allí tendrías que forzar el primer compromiso.
fuente
Prueba este comando git
o sin fuerza
-f
git push origin master -f
fuente
Como se indica en el mensaje de error, debe "buscar primero". Esto funcionó para mí. Usa el comando:
git fetch origin master
Luego siga estos pasos para fusionar:
git pull origin master
git add .
git commit -m 'your commit message'
git push origin master
fuente
Pruebe este comando para resolverlo:
O
fuente
Puede usar el siguiente comando: Primero clone una copia nueva de su repositorio, usando el indicador --mirror:
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:
o
fuente
Siga los pasos que se indican a continuación, ya que también tuve el mismo problema:
(Para ver si la sucursal local se puede fusionar fácilmente con una remota)
(Ahora envíe todo el contenido del repositorio de git local a su repositorio en línea)
fuente
Es probable que alguien más (por ejemplo, su colega) haya puesto confirmaciones
origin/master
que no están en sumaster
sucursal local y usted está intentando enviar algunas confirmaciones desde su sucursal local al servidor. En el 99% de los casos, asumiendo que no desea borrar su trabajo deorigin
, tiene dos opciones:2) Combine sus cambios en su sucursal local y luego envíe el resultado combinado.
git checkout master git pull # resolve conflicts here git push
(Tenga en cuenta que en este caso
git pull
es esencialmente unagit fetch
y unagit merge
).1) Vuelva a basar su sucursal local, de modo que parezca que su colega hizo sus confirmaciones primero y luego usted hizo las suyas. Esto mantiene el historial de confirmaciones 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 deba resolver esos conflictos para cada una de sus confirmaciones (en lugar de solo una) en el peor de los casos. Esencialmente, esto es mejor para todos los demás, pero más esfuerzo para ti.
git pull --rebase # resolve conflicts here git push
(Tenga en cuenta que
git pull --rebase
es esencialmente aygit fetch
agit rebase origin/master
.)fuente
A veces sucede cuando duplica archivos, típicamente README.
fuente
Su error puede deberse a la rama de combinación.
Solo sigue esto:
paso 1:
git pull origin master
(en caso de que reciba algún mensaje, ignórelo)paso 2:
git add .
paso 3:
git commit -m 'your commit message'
paso 4:
git push origin master
fuente
Primero, debes usar
git pull
, luego hacer un comandogit fetch
y luego hacer el git merge.Si usa un
git push origin master --force
comando, es posible que tenga problemas en el futuro.fuente
Superé esto comprobando una nueva rama como esta:
Te quedan 2 ramas: Master y newbranch, que puedes fusionar más tarde.
fuente
Solo tiene que mencionar el nombre de su rama junto con su nombre remoto.
fuente
La razón por la que sucedió en mi caso fue cuando creé el enlace de representante de GitHub, lo inicialicé con el archivo README
Mientras crea el control remoto de Git, no lo inicialice con el archivo README; de lo contrario, mostraría err
No hagas eso y definitivamente funcionará bien. En lugar de eso, inicialízalo con el archivo Léame si lo deseas después de presionar a la rama maestra.
fuente
Esto funcionó para mí, ya que ninguna de las otras soluciones funcionó para mí. ¡NI NI LA FUERZA!
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line
Solo tuve que pasar por Git Bash
Luego volví a mi cmd y pude:
git push heroku master
que en mi caso era el problema.fuente
--force
La opción funcionó para mí, uségit push origin master --force
fuente
! [rechazado] maestro -> maestro (buscar primero) error: no se pudieron enviar algunas referencias a '[email protected]:'
Resolvió con éxito el problema usando el comando --force. entonces, debes usar
git push origin master --force
fuente
Utilice este comando:
fuente
este trabajo para mi
git init
git add --todos
3.git commit -m "nombre"
4.git push origin master --force
fuente
Esto funcionó para mí:
fuente
Es simple usar este comando:
y hará tu trabajo
fuente
Problema resuelto
Problema que tuve
También tuve el mismo problema. El problema es que sus
commits
otros repositorios no se realizaron correctamente,pushed
por lo que debe ejecutar los siguientes comandos:git fetch origin master
salida:
From https://github.com/username/repo-name * branch master -> FETCH_HEAD
git merge origin master
salida:
Merge made by the 'recursive' strategy.
repo-name/ReadMe.md | 1 -
1 file changed, 1 deletion(-)
git push
salida:
Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 8 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 1.00 KiB | 1.00 MiB/s, done. Total 6 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 1 local object. To https://github.com/user_name/repo-name.git 0852d5vf..70v56d9 master -> master
Muchas gracias
fuente