So come eseguire il rebase su un ramo o tag specifico utilizzando eGit in Eclipse, ma non ho trovato un modo per rebase su uno sha1 specifico utilizzando eGit. Mi piacerebbe farlo per schiacciare i commit prima di spingere a monte (ovvero, fare git rebase -i HEAD~n
dove n è un numero di commit fa dove voglio rebase). E 'possibile con eGit? In caso contrario, c'è un altro plug-in Eclipse che dovrei usare che fornirebbe questa funzionalità?Come posso fare l'equivalente di git rebase -i HEAD ~ 2 in eGit?
risposta
EGit ha rebase, ma non ha ancora il rebase interattivo che chiedi.
Dalla visualizzazione cronologia selezionare il commit a cui effettuare il rebase e creare un ramo denominato rebase-point
o qualsiasi altra cosa. Voilà, puoi ora rebase a quel ramo ed eliminarlo in seguito, se lo desideri. Generalmente preferisco usare un ramo nominato per cose come questa, perché minimizza la possibilità di errori da parte mia. In alternativa, considera che origin/master
è spesso il punto di riferimento corretto se stai schiacciando i commit per una spinta.
Come quando si tenta di rebase su uno specifico commit tramite la risposta di @ KevinSawicki, ottengo anche che "Rebase non ha fatto nulla, HEAD era già aggiornato" messaggio quando provo questo? Penso che mi manchi qualcosa di ovvio qui, ma non so cosa ... – Zach
Hmm, sembra che dovrai farlo nel ramo della funzione prima di unirlo in 'master', a causa dell'eclissi" aiutare " tu troppo –
È inoltre possibile eseguire il rebase dalla vista Cronologia Eclipse.
- Selezionare il repository dalla vista Git repository
- pulsante destro del mouse e selezionare Visualizza nella storia
- Selezionare il commit si desidera rebase al ramo attualmente estratto in cima
- tasto destro fare clic e selezionare Rebase in cima a articolo
- Nota: potrebbe essere necessario selezionare Mostra tutti i rami e i tag prima dalla Cronologia visualizza la barra degli strumenti per visualizzare il commit che stai cercando nella tabella.
Avrei dovuto aggiungere queste informazioni alla domanda, ma questo è il modo in cui inizialmente ho pensato che avrebbe funzionato. Tuttavia facendo questo su un commit precedente nello stesso ramo appare sempre una finestra di dialogo che dice "Rebase non ha fatto nulla, HEAD era già aggiornato." – Zach
Sono stato schiacciamento successo impegna con passi da this post (tagliato e incollato qui):
Se voglio schiacciare l'ultimo m impegna sul ramo corrente poi ho
- selezionare nella storia il primo commit che non voglio schiacciare
- tasto destro del mouse e dire "Team-> Reset-> Soft"
- tasto destro del mouse e dire "Conferma". Questo commit conterrà tutte le modifiche dell'ultima m commit insieme
- 1. Come fare un rebase con git gui?
- 2. Come rendere Head il master in git?
- 3. Non posso git rebase --interactive più
- 4. `git svn rebase` vs` git rebase trunk`
- 5. Come posso eseguire git rebase - interattivo in modo non interattivo?
- 6. recupero da git rebase
- 7. git rebase dopo pull
- 8. Come posso utilizzare git rebase senza richiedere una spinta forzata?
- 9. "git pull --rebase" porta a "Impossibile rebase su più rami"
- 10. git pull --rebase vs git rebase: qual è il pericolo?
- 11. Git rebase sottostruttura
- 12. egit sostituzione del singolo file - HEAD Revisione vs File nell'indice git
- 13. Come modificare la strategia di pull predefinita in EGit
- 14. git: Come automatizzare rebase interattivo/sostituirlo con comandi git equivalenti
- 15. Git rebase cambia autore?
- 16. Rebase Git: i conflitti continuano a bloccare i progressi
- 17. Git Pull vs Git Rebase
- 18. Fare richiesta HEAD HTTP con urllib2 da Python 2
- 19. git rebase problemi
- 20. git rebase upstream/master vs git pull --rebase master upstream
- 21. "fatale: ref HEAD non è un riferimento simbolico" durante la git rebase interattiva
- 22. Git può applicare marcatori di conflitto di ferie in linea come git rebase?
- 23. Egit mostra tutti i file come modificati
- 24. Il repository Rebase Git contiene percorsi non raggruppati
- 25. Git rebase commettere selezione
- 26. Errore durante il riordino con git rebase -i
- 27. git crash durante rebase
- 28. riscrittura efficiente (rebase -i) un sacco di cronologia con git
- 29. git-svn rebase errore
- 30. Git rebase conflitto con nulla da unire?
vedere i seguenti collegamenti per i progressi su questa funzione: https://bugs.eclipse.org/bugs/show_bug.cgi?id=340967 https://bugs.eclipse.org/bugs/show_bug.cgi?id= 356939 –
Questa funzione sarà disponibile in Eclipse Luna e può essere già installata. Vedi http://m-sohn.blogspot.com/2013/11/interactive-rebase-with-egit-32.html – torkildr