Aplicable para Eclipse Luna + Eclipse Git 3.6.1
YO,
- repositorio de git clonado
- hizo algunos cambios en el código fuente
- cambios por etapas desde la vista de ensayo de Git
- finalmente, ¡comprométete y empuja!
Y me enfrenté a este problema con EGit y así es como lo solucioné ...
Sí, alguien confirmó los cambios antes de que yo confirmara mis cambios. Entonces se rechazan los cambios. Después de este error, los cambios se confirman realmente en el repositorio local. No quería solo Pulllos cambios porque quería mantener linear historycomo se señala en - ¿En qué casos podría ser dañino `git pull`?
Entonces, ejecuté los siguientes pasos
- desde la perspectiva del repositorio de Git, haga clic con el botón derecho en el
proyecto de Git en cuestión
- seleccionar
Fetch from Upstream: obtiene actualizaciones remotas (referencias 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 en Preserve merges during rebasever por qué ¿
Qué hace exactamente "rebase --preserve-merges" de git (y por qué?)
- haga clic en
Rebase button
- si hay un
conflict(s), vaya al paso 6, de lo contrario al paso 11
Rebase Resultaparecerá una ventana emergente, simplemente haga clic enOK
file comparatorse abriría, necesita modificar left side file.
- una vez que haya terminado de fusionar los cambios correctamente, vaya a la
Git Stagingvista
stage the changes. es deciradd to index
- en la misma vista, haga clic en
Rebase-> Continue. repita de 7 a 10 hasta que se resuelvan todos los conflictos.
- de la
Historyvista, seleccione su fila de compromiso y seleccionePush Commit
- seleccione la
Rebase Commits of local.......casilla de verificación y haga clic en siguiente. referir por qué - Git: rebase en la rama de desarrollo desde arriba
- haga clic en
Finish
Nota: si tiene varias confirmaciones del repositorio local, debe aplastarlas en una confirmación para evitar múltiples fusiones.