oxygen - java eclipse git tutorial
Egit rechazó el avance rápido (8)
- Entra en Github y crea un repositorio para tu nuevo código.
- Use la nueva URL https o ssh en Eclise cuando esté realizando el push to upstream;
Recibo este mensaje mientras presiono al repositorio de Github. ¿Me puede decir el procedimiento paso a paso para solucionarlo? Empujé solo una vez y fue exitoso. Pero, cuando actualicé un proyecto y traté de impulsar mi segundo compromiso, se muestra "maestro rechazado no rápido" y no me permite presionar. Por favor explica el procedimiento.
Abrir la vista de git:
1- Seleccione su proyecto y elija fusionar 2- Seleccione seguimiento remoto 3- haga clic en Aceptar
Git fusionará la rama remota con el repositorio local
4- Luego empuja
Descubrí que debes estar en el último commit del git. Estos son los pasos a seguir: 1) asegúrese de no haber estado trabajando en los mismos archivos; de lo contrario, se encontrará con un error DITY_WORK_TREE. 2) extraer los últimos cambios. 3) compromete tus actualizaciones.
Espero que esto ayude.
Este error significa que el repositorio remoto ha tenido otras confirmaciones y se ha adelantado a su sucursal local.
Intento hacer un git pull seguido de un git push. Si no hay cambios conflictivos, git pull obtiene el último código en mi sucursal local mientras mantiene mis cambios intactos.
Luego un git push empuja mis cambios a la rama principal.
Mientras tanto (mientras actualizabas tu proyecto), se han realizado otros commits en la rama ''master''. Por lo tanto, debe realizar esos cambios primero para poder impulsar sus cambios.
Tuve el mismo problema y pude solucionarlo. afk5min tenía razón, el problema es que la rama desde la que extrajo el código ha cambiado en el repositorio remoto. Según las prácticas estándar de git ( http://git-scm.com/book/en/Git-Basics-Working-with-Remotes ), necesita (ahora) fusionar esos cambios en el repositorio remoto en sus cambios locales antes que usted puede comprometerse. Esto tiene sentido, esto te obliga a tomar los cambios de otros y fusionarlos en tu código, asegurando que tu código continúe funcionando con los otros cambios en su lugar.
De todos modos, a los pasos.
Configura la ''búsqueda'' para recuperar la rama desde la que originalmente extrajiste.
Obtener la rama remota.
Combina esa rama remota en tu sucursal local.
Confirme el cambio (fusión) en su repositorio local.
Empuja el cambio al repositorio remoto.
En detalle...
En eclipse, abra la vista ''Git Repositories''.
Asegúrese de ver su repositorio local y pueda ver el repositorio remoto como una subcarpeta. En mi versión, se llama Remotes, y luego puedo ver el proyecto remoto dentro de eso.
Busque la flecha verde que apunta hacia la izquierda, esta es la flecha ''buscar''. Haga clic derecho y seleccione ''Configurar búsqueda''.
Debería ver el URI, asegúrese de que apunta al repositorio remoto.
Mire en la sección de asignaciones de referencias de la ventana emergente. El mío estaba vacío. Esto indicará qué referencias remotas desea buscar. Haga clic en ''Agregar''.
Escriba el nombre de la rama que necesita recuperar del repositorio remoto. El mío fue ''maestro'' (por cierto, un menú desplegable aquí sería genial !!, por ahora, tienes que escribirlo). Continúe por la ventana emergente y, finalmente, haga clic en ''Finalizar''.
Haga clic en "Guardar y recuperar". Esto obtendrá esa referencia remota.
Mire en la carpeta ''Sucursales'' de su repositorio local. Ahora debería ver esa rama remota en la carpeta remota. De nuevo, veo ''maestro''.
Haga clic derecho en la sucursal local en la carpeta ''Local'' de ''Sucursales'', que se llama ''maestro''. Seleccione ''Combinar'', y luego seleccione la rama remota, que se llama ''origen / maestro''.
Proceso a través de la fusión.
Confirme cualquier cambio en su repositorio local.
Empuja tus cambios al repositorio remoto.
Ve a tomar una bebida sabrosa, felicitándote a ti mismo. Tómese el resto del día libre.
Aplicable para Eclipse Luna + Eclipse Git 3.6.1
YO,
- repositorio git clonado
- hecho algunos cambios en el código fuente
- cambios en etapas desde la Vista de Git Staging
- finalmente, cometer y empujar!
Y me enfrenté a este problema con EGit y así es como lo arreglé ...
Sí, alguien cometió los cambios antes de que yo realice mis cambios. Entonces los cambios son rechazados. Después de este error, los cambios se comprometen realmente con el repositorio local. No quería simplemente hacer los cambios porque quería mantener linear history
como se indica en: ¿en qué casos podría `git pull` ser perjudicial?
Entonces, ejecuté los siguientes pasos
- desde la perspectiva de Git Repository, haga clic derecho en el Git en cuestión
proyecto - seleccione
Fetch from Upstream
: busca actualizaciones remotas (refs y objetos) pero no se realizan actualizaciones localmente. para obtener más información, consulte ¿Cuál es la diferencia entre ''git pull'' y ''git fetch''? - seleccione
Rebase...
- esto abre una ventana emergente, haga clic enPreserve merges during rebase
ver por qué
¿Qué hace exactamente "rebase - preserve-merges" de git (y por qué?) - haga clic en el
Rebase button
- si hay / hay
conflict(s)
, vaya al paso 6 más el paso 11 -
Rebase Result
unaRebase Result
emergenteRebase Result
, solo haga clic enOK
-
file comparator
se abrirá, debe modificar elleft side file
. - Una vez que haya terminado de fusionar los cambios correctamente, vaya a la vista de
Git Staging
-
stage the changes
. es decir,add to index
- en la misma vista, haga clic en
Rebase
->Continue
. repita 7 a 10 hasta que se resuelvan todos los conflictos. - desde la vista
History
, seleccione su fila de confirmación y seleccionePush Commit
envío - seleccione
Rebase Commits of local.......
casillaRebase Commits of local.......
y haga clic en siguiente. refiérase a por qué - Git: rebase a la rama de desarrollo de la corriente ascendente - haga clic en
Finish
Nota: si tiene varias confirmaciones de repositorio local, necesita aplastarlas en una confirmación para evitar fusiones múltiples.
En mi caso, elegí la casilla Force Update
mientras presiono. Funcionó a las mil maravillas.