2009-11-17 27 views
135

È possibile eseguire l'equivalente di git checkout da Eclipse utilizzando il plug-in EGit?Checkout git Eclipse (alias, ripristino)

Ho un file che è stato modificato. Voglio eliminare le modifiche e ripristinare il file in quello che si trova nel repository di origine. In Subversion questo è chiamato ripristino. In git l'equivalente è il checkout.

Non riesco a trovare alcuna voce di menu in Team che assomiglia al checkout o al ripristino. Sto usando EGit 0.6.0.

+5

git fa schifo! Non ti mostrerà cosa stai per annullare prima di ripristinarlo. Subversion ti darà una bella finestra di conferma con un elenco dei file che stai per ripristinare. Quindi puoi scegliere quali vuoi annullare o cancellare sul posto. Peccato per il super-potente idiota. – JohnPristine

+3

@JohnPristine Il plugin git Eclipse (egit) è quello che mostrerebbe una finestra di conferma, piuttosto che git stesso. –

+0

Fare clic con il pulsante destro del mouse sul file che si desidera ripristinare, quindi selezionare "Sovrascrivi". E sono d'accordo, Git fa schifo. – DhafirNz

risposta

264

Questo può essere fatto tramite il menu di scelta rapida "Sostituisci con/File in indice Git" sul file nella vista pacchetto.

+5

Cosa succede se il file non esiste nello spazio di lavoro (ancora/altro)? – zedoo

+0

@zedoo Se il file non esiste apri la vista "Git Staging", fai clic con il pulsante destro del mouse sul file eliminato nell'elenco "Modifiche non protette" e seleziona "Sostituisci con HEAD Revision" –

43

È possibile ottenere questo facendo un reset (hard). Nel menu di scelta rapida del progetto selezionare Team> Ripristina in ..., selezionare "HEAD" e "Hard" come tipo di ripristino.

Si prega di notare che facendo questo si perderanno le modifiche di TUTTI i file. Per ripristinare solo un singolo file vedere this answer.

+0

Ho appena scoperto che il commit fa anche la stessa cosa: esegue il commit di TUTTI i file invece del solo file selezionato. –

+0

Giusto, ma almeno tu _can_ deseleziona i file nella finestra di dialogo di commit ... Btw: Ho archiviato un bug per il reset https://bugs.eclipse.org/bugs/show_bug.cgi?id=295423 – simon

+5

Supporto Git in Eclipse è davvero inferiore a CVS e SVN per questo! La funzionalità "Sostituisci con l'ultimo dalla TESTA" di CVS è molto importante per me. – kosoant

3

La funzionalità è in realtà in là, ma può essere non evidente:

  • Assicurarsi quickdiff è attivata con una revisione git e la linea di base è quickdiff testa (questa è l'impostazione predefinita).
  • Aprire il file che si desidera ripristinare.
  • Seleziona tutto (Ctrl-A)
  • destro del mouse sulla barra di quickdiff
  • Selezionare "Ripristina selezione"
  • Salva

btw, tornare in git gergo significa creare un nuovo impegnarsi a ripristina un commit precedente.

+0

Per lavorare con quickdiff ecco una breve introduzione: http://wiki.eclipse.org/EGit/User_Guide/State#Quickdiff –

16

in Eclipse Versione: 3.7.0

nel "Team Sincronizzazione prospettiva" -> tasto destro del mouse sul file/cartella nella visualizzazione sincronizzare -> sovrascrive

+0

questo è stato uno dei più facili da eseguire. Fa un popup per confermare che vuoi sovrascrivere le tue modifiche locali. – Karidrgn

12

Un'altra possibilità sta usando il Git Staging view:

  • Aprire Git Staging vista premendo Ctrl + 3 o Comando + 3 e digitando
    staging
  • Nel caso in cui la vista non mostri già il repository, fare clic sul progetto o sul file
  • Si dovrebbe ora vedere i file modificati negli sezione Unstaged Modifiche
  • doppio clic sul file non è stato classificato
  • È ora vedere una vista confronto con la versione a sinistra e la versione prima che le modifiche su il diritto

Ora, per annullare soltanto alcune delle modifiche nel file, effettuare le seguenti operazioni:

  • nella vista confrontare, selezionare una delle linee modificate
  • Selezionare il Copy Change corrente da destra a sinistra oggetto barra degli strumenti

questo renderà il lato sinistro corrisponde al lato destro di questo cambiamento. Salva il file per completare l'annullamento.

Per annullare tutte le modifiche:

  • Nella vista messa in scena, fate clic destro sul file Unstaged
  • Selezionare Sostituisci con file in Index Git

È anche possibile selezionare più di un file nonstage e quindi fare clic destro.

+0

Mi chiedo perché questa risposta abbia ottenuto così meno voti. Preferirei segnare questo meglio; non mi sarei mai immaginato. Grazie @robinst – HarsH1610

9

tornare indietro su un singolo file andando a Finestra> Mostra vista> Altro> Git Staging> Unstaged Modifiche

Selezionare il file (s) che si desidera ripristinare. Fare clic con il tasto destro e scegliere Sostituire con revisione HEAD

Si noti che questo passaggio non può essere annullato.

(sto usando Eclipse Versione: 3.7.2 Egit versione 2.3.1.201302201838-r)

4

Open Team Sincronizzazione. Trova il file e fai clic con il pulsante destro del mouse -> Sovrascrivi.

UPDATE

In Eclipse Luna (4.4.2) Open Team Sincronizzazione. Trova il file e fai clic con il pulsante destro del mouse -> "Ripristina ..."

6

Per un ritorno, è possibile fare clic destro sul file/cartella che si desidera, quindi selezionare Sostituire Con ->TESTA versione

+0

La domanda si applica a qualsiasi plug-in Git in Eclipse? Ha funzionato bene con Egit. – johnnieb

+0

AGGIORNAMENTO: In Eclipse Mars e Luna SR2 (Git incorporato) ha funzionato in questo modo. – Mag

1

Per ripristinare l'intero file per i dati del repository:

fare clic sulla cartella che si desidera fare la revisione e poi andare al GitStaging enter image description here