Eclipse Git Checkout (auch bekannt als "Zurücksetzen")

139

Ist es möglich, git checkoutmit dem EGit-Plugin das Äquivalent von innerhalb von Eclipse zu tun ?

Ich habe eine Datei, die geändert wurde. Ich möchte die Änderungen verwerfen und die Datei auf das zurücksetzen, was sich im Quell-Repository befindet. In Subversion wird dies als Zurücksetzen bezeichnet. In git ist das Äquivalent checkout.

Ich kann unter Team keinen Menüpunkt finden, der wie Auschecken oder Zurücksetzen aussieht. Ich benutze EGit 0.6.0.

Steve Kuo
quelle
6
git saugt! Es zeigt Ihnen nicht, was Sie zurücksetzen möchten, bevor Sie es zurücksetzen. Subversion gibt Ihnen ein schönes Bestätigungsfenster mit einer Liste der Dateien, die Sie zurücksetzen möchten. So können Sie vor Ort auswählen, welche Sie zurücksetzen oder abbrechen möchten. Schade um den superstarken Idioten.
JohnPristine
5
@JohnPristine Das Eclipse-Git-Plugin (egit) zeigt ein Bestätigungsfenster an und nicht Git selbst.
Brad Cupit
Klicken Sie mit der rechten Maustaste auf die Datei, die Sie zurücksetzen möchten, und wählen Sie dann "Überschreiben". Und ich stimme zu, Git ist scheiße.
DhafirNz
In 2016, eGit Version 4.5.0, wird "Überschreiben" nicht angezeigt. Es scheint jetzt "Ersetzen durch ..." "HEAD Revision"
Ed Randall

Antworten:

274

Dies kann über das Kontextmenü "Ersetzen durch / Datei im Git-Index" für die Datei in der Paketansicht erfolgen.

Sergii Rudchenko
quelle
5
Was ist, wenn die Datei nicht im Arbeitsbereich vorhanden ist (noch / nicht mehr)?
Zedoo
@zedoo Wenn die Datei nicht vorhanden ist, öffnen Sie die Ansicht "Git Staging", klicken Sie mit der rechten Maustaste auf die gelöschte Datei in der Liste "Nicht bereitgestellte Änderungen" und wählen Sie "Durch HEAD-Revision ersetzen"
Vlasta Dolejs
42

Sie können dies erreichen, indem Sie einen (Hard-) Reset durchführen. Wählen Sie im Kontextmenü des Projekts Team> Zurücksetzen auf ..., wählen Sie "HEAD" und "Hard" als Rücksetztyp.

Bitte beachten Sie, dass Sie dadurch die Änderungen ALLER Dateien verlieren. Um nur eine einzelne Datei zurückzusetzen, lesen Sie diese Antwort .

Simon
quelle
Ich habe gerade herausgefunden, auf welche harte Weise Commit dasselbe tut - es werden ALLE Dateien anstelle nur der ausgewählten Datei festgeschrieben.
Steve Kuo
Richtig, aber zumindest können Sie die Auswahl von Dateien im Commit-Dialogfeld aufheben
Simon
5
Die Git-Unterstützung in Eclipse ist CVS und SVN aus diesem Grund wirklich unterlegen! Die CVS-Funktion "Ersetzen durch das Neueste von HEAD" ist mir sehr wichtig.
kosoant
@kosoant Eclipse kann das auch mit Git. Siehe diese Antwort
Brad Cupit
3
Er fragt ausdrücklich nach dem Zurücksetzen einer Datei, nicht aller.
Zofren
18

in Eclipse Version: 3.7.0

in "Team-Synchronisierungsperspektive" -> Rechtsklick auf Datei / Ordner in der Synchronisierungsansicht -> überschreiben

ekeren
quelle
Dies war eine der am einfachsten durchzuführen. Es wird ein Popup angezeigt, um zu bestätigen, dass Sie Ihre lokalen Änderungen überschreiben möchten.
Karidrgn
Dadurch wurden neue Dateien gelöscht, nicht bereitgestellte Änderungen, was ich brauchte.
Katu
12

Eine andere Möglichkeit ist die Verwendung der Git Staging-Ansicht :

  • Öffnen Sie die Git Staging- Ansicht, indem Sie Strg + 3 oder Befehl + 3 drücken und eingeben
    staging
  • Falls die Ansicht Ihr Repository noch nicht anzeigt, klicken Sie auf das Projekt oder die Datei
  • Sie sollten nun die von Ihnen geänderten Dateien im Abschnitt Nicht bereitgestellte Änderungen sehen
  • Doppelklicken Sie auf die nicht bereitgestellte Datei
  • Sie sehen jetzt links eine Vergleichsansicht mit Ihrer Version und rechts die Version vor den Änderungen

Gehen Sie nun wie folgt vor, um nur einige der Änderungen in der Datei rückgängig zu machen:

  • Wählen Sie in der Vergleichsansicht eine Ihrer geänderten Zeilen aus
  • Wählen Sie das Symbolleistenelement Aktuelle Änderung von rechts nach links kopieren

Dadurch entspricht die linke Seite der rechten Seite für diese Änderung. Speichern Sie die Datei, um das Rückgängigmachen abzuschließen.

So machen Sie alle Änderungen rückgängig:

  • Klicken Sie in der Staging-Ansicht mit der rechten Maustaste auf die nicht bereitgestellte Datei
  • Wählen Sie Ersetzen durch Datei im Git-Index

Sie können auch mehr als eine nicht bereitgestellte Datei auswählen und dann mit der rechten Maustaste klicken.

robinst
quelle
Ich frage mich, warum diese Antwort so weniger Stimmen bekam. Ich würde es vorziehen, dies am besten zu markieren; hätte mich nie gedacht. Danke @robinst
HarsH
11

Setzen Sie eine einzelne Datei zurück, indem Sie zu gehen Fenster> Ansicht anzeigen> Andere> Git-Staging> Nicht bereitgestellte Änderungen gehen

Wählen Sie die Datei (en) aus, die Sie zurücksetzen möchten. Klicken Sie mit der rechten Maustaste und wählen Sie Durch HEAD-Revision ersetzen

Beachten Sie, dass dieser Schritt nicht rückgängig gemacht werden kann.

(Ich verwende Eclipse Version: 3.7.2 Egit Version 2.3.1.201302201838-r)

TA
quelle
7

Zum Zurücksetzen können Sie mit der rechten Maustaste auf die gewünschte Datei / das gewünschte Verzeichnis klicken und dann Ersetzen durch -> HEAD-Version auswählen

user3812819
quelle
Gilt das für ein Git-Plugin in Eclipse? Mit Egit hat es gut funktioniert.
Johnnieb
UPDATE: In Eclipse Mars und Luna SR2 (eingebauter Git) hat es so funktioniert.
Mag
4

Öffnen Sie die Team-Synchronisierung. Suchen Sie die Datei und klicken Sie mit der rechten Maustaste -> Überschreiben.

AKTUALISIEREN

Öffnen Sie in Eclipse Luna (4.4.2) die Teamsynchronisierung. Suchen Sie die Datei und klicken Sie mit der rechten Maustaste -> "Zurücksetzen ..."

Geddon
quelle
3

Die Funktionalität ist tatsächlich vorhanden, kann aber nicht offensichtlich sein:

  • Stellen Sie sicher, dass quickdiff mit einer Git-Revision aktiviert ist und die Quickdiff-Basislinie HEAD ist (dies ist die Standardeinstellung).
  • Öffnen Sie die Datei, die Sie zurücksetzen möchten.
  • Alles auswählen (Strg-A)
  • Klicken Sie mit der rechten Maustaste in die QuickDiff-Leiste
  • Wählen Sie "Auswahl zurücksetzen"
  • sparen

Übrigens bedeutet "Zurücksetzen in Git-Jargon", dass ein neues Commit erstellt wird, um ein früheres Commit zurückzusetzen.

Robinr
quelle
Um mit Quickdiff zu arbeiten, gibt es hier eine kurze
Valentin Despa
1

Um zurückkehren Ihre gesamte Datei zu Repository - Daten:

Klicken Sie auf den Ordner, in dem Sie die Revision durchführen möchten, und wechseln Sie dann zu GitStaging Geben Sie hier die Bildbeschreibung ein

adhg
quelle