Sé cómo volver a establecer una base de datos en una rama o etiqueta específica usando eGit en Eclipse, pero no he encontrado una forma de volver a establecer una base en un sha1 específico usando eGit. Me gustaría hacer esto para aplastar los commits antes de pasar al upstream (es decir, haciendo git rebase -i HEAD~n
donde n es una cantidad de commits ago donde quiero rebasear). ¿Es esto posible con eGit? De lo contrario, ¿hay otro plugin de Eclipse que debería usar que proporcione esta funcionalidad?¿Cómo puedo hacer el equivalente de git rebase -i HEAD ~ 2 en eGit?
Respuesta
EGit tiene rebase, pero todavía no tiene la base de datos interactiva que usted solicita.
En la vista del historial, seleccione la confirmación a la que desea volver a establecer la base, y cree una rama llamada rebase-point
o lo que sea. Voila, ahora puedes volver a establecer la base para esa rama y eliminarla más adelante si lo deseas. Por lo general, prefiero usar una sucursal con nombre para este tipo de cosas, ya que minimiza la posibilidad de errores por mi parte. Alternativamente, considere que origin/master
es a menudo el correcto punto de rebase si está aplastando compromisos para un empujón.
Al igual que cuando trato de volver a establecer la base de una confirmación específica mediante la respuesta de @ KevinSawicki, también obtengo el "Rebase no hizo nada, HEAD ya estaba actualizado" mensaje cuando pruebo esto? Creo que me falta algo obvio aquí, pero no sé qué ... – Zach
Hmm, parece que tendrás que hacerlo en la rama de características antes de fusionarlo en 'maestro', debido a un eclipse que" ayuda " usted demasiado. –
También puede modificar la base desde la vista del historial de Eclipse.
- Seleccione el repositorio Git desde el punto de vista repositorios
- derecho del ratón y seleccione Mostrar En Historia
- Seleccione el commit desea reajustar la rama actualmente desprotegido en la parte superior de
- botón secundario haga clic y seleccione Rebase en la parte superior de elemento
- Nota: es posible que necesite seleccionar Mostrar todas las ramas y etiquetas primero de la historia ver barra de herramientas para mostrar la confirmación que está buscando en la tabla.
Debería haber agregado esta información a la pregunta, pero así es como pensé inicialmente que funcionaría también. Sin embargo, al hacer esto en una confirmación previa en la misma rama, siempre aparece un diálogo que dice "Rebase no hizo nada, HEAD ya estaba actualizado". – Zach
He estado aplastamiento éxito compromete siguiendo los pasos de this post (cortar y pegar aquí):
Si quiero aplastar el último m compromete en la rama actual entonces
- de selección en la historia el primer commit que no quiero aplastar
- haga clic derecho y diga "Team-> Reset-> Soft"
- haga clic derecho y diga "Commit". Esta confirmación contendrá todos los cambios de los últimos m commits juntos.
- 1. ¿Cómo hacer una rebase con git gui?
- 2. EGit en Eclipse: cómo hacer git push --force?
- 3. git revertir en Egit
- 4. egit reemplazando un solo archivo - HEAD Revisión vs Archivo en el índice git
- 5. git rebase -i presenta un archivo MacVim vacío
- 6. `git svn rebase` vs` git rebase trunk`
- 7. ¿Cómo lo corrijo? HEAD^en git
- 8. ¿Cómo uso git rebase -i después de la fusión de git sin estropear las cosas?
- 9. git svn argumento ambiguo 'HEAD'
- 10. `git rebase`
- 11. ¿Cómo uso 'git rebase -i' para volver a establecer la base de todos los cambios en una rama?
- 12. Cómo push/pull git rebase
- 13. Git rebase una rama en el maestro falló, ¿cómo resolver?
- 14. Principios básicos de git rebase
- 15. Diferencia entre git pull --rebase, git rebase y git merge
- 16. phpstorm git pull --rebase
- 17. ¿Cómo puedo usar git rebase sin requerir un empuje forzado?
- 18. Git rebase and moving directory en el submódulo
- 19. git rebase después de git merge anterior
- 20. git rebase en actualizaciones remotas
- 21. ¿Cómo hacer que el submódulo con HEAD separado se conecte a HEAD real?
- 22. "git rebase origin" vs. "git rebase origin/master"
- 23. git merge vs rebase usando git svn
- 24. ¿Cómo revertir una rama git-svn a SVN HEAD?
- 25. git rebase problemas
- 26. ¿Cómo reinicio git --hard HEAD en Mercurial?
- 27. Git ramificación/rebase buenas prácticas
- 28. git pull --rebase
- 29. git rebase cometer selección
- 30. ¿Cómo puedo reordenar/combinar confirmaciones usando Git rebase?
vea los siguientes enlaces para ver el progreso de esta función: https://bugs.eclipse.org/bugs/show_bug.cgi?id=340967 https://bugs.eclipse.org/bugs/show_bug.cgi?id= 356939 –
Esta función estará disponible en Eclipse Luna y ya puede estar instalada. Ver http://m-sohn.blogspot.com/2013/11/interactive-rebase-with-egit-32.html – torkildr