Irgendeine GUI für Git mergen (w Squash)? [geschlossen]

8

Mein Arbeitsablauf:

  • Zweig vom Master
  • arbeite in meiner Branche, begehe häufig (100 +)
  • Wenn der Job in meinem Zweig erledigt ist, füge Master in meinen Zweig ein, lösche den ganzen Konflikt.
  • CODE REVIEW ZEIT vor dem Zusammenführen zurück zum Master

Für CODE REVIEW muss ich die Unterschiede zwischen zwei Heads und squash / organize meine Commits (in etwa 5 Commits) zeigen. Was ist die beste GUI (plattformübergreifend?) Für diese Aufgabe?

    
Tom Fishman 08.10.2011, 04:56
quelle

4 Antworten

9

Das hängt von Ihrem Betriebssystem ab (git Tower, zum Beispiel auf MacOs, ist eine besonders gute GUI, bietet aber keine spezielle Funktion für eine interaktive Rebase). Unter Windows scheint es keine GUI zu geben für diese Funktion.

Der einfachste Weg bleibt einer mit keiner Schnittstelle, wo Sie ein

ausführen können %Vor%

, weil Sie mit der Commit-Nachricht, die mit! squash beginnt (wenn diese Zwischenbefehle etwa der gleichen Aufgabe entsprachen), festgeschrieben haben Siehe " Trimmen von GIT-Checkins / Squash-GIT-Verlauf ".

    
VonC 08.10.2011, 07:32
quelle
2

Die Ausgabe eines Befehls 'git diff' kann in einem GUI-Tool mit dem Befehl 'git difftool' angezeigt werden.

Zuerst den Befehl 'diff', den wir wollen: Zeigen Sie die akkumulierten Diffs an, die durch jeden Commit auf 'mybranch' eingeführt wurden, da sie von 'master' abwichen mit:

%Vor%

oder

%Vor%

Beachten Sie, dass dies jegliche Commits ausschließt, die in der Zwischenzeit auf dem Master passiert sind. Das ist wahrscheinlich das, was Sie wollen, wenn Sie mybranch überprüfen.

Wenn mybranch Ihr aktueller Kopf ist, dann kann dies abgekürzt werden:

%Vor%

Git wird die Ausgabe von diff-Befehlen in eine Liste von etwa acht bekannten GUI-Tools mit 'git difftool' einspeisen. Ich verwende kdiff3 unter OSX, und in der Vergangenheit habe ich es auch unter Linux gerne benutzt. Ich bevorzuge kdiff3, weil es mir ermöglicht, 3-Wege-Zusammenführungen wenn erforderlich zu machen, und es erlaubt mir, die Ausgabe der Zusammenführung manuell zu bearbeiten sowie nur zu verwendende hunks auszuwählen.

Installieren Sie zuerst kdiff3 und fügen Sie dann einen Symlink dazu auf Ihrem PATH hinzu. Für mich war das:

%Vor%

Dann sag git, dass du kdiff3 als GUI-Diff-Tool benutzen willst:

%Vor%

Dann sehen Sie Ihre Diffs darin:

%Vor%     
Jonathan Hartley 21.08.2012 10:25
quelle
0

Unter Linux sind meine zwei bevorzugten GUIs für git gitg und melden . Um das richtige diff für die Code-Überprüfung in Ihrem Fall zu erhalten, starten Sie gitg und suchen Sie das letzte Commit im Master, von dem Sie fusioniert haben (wichtig ist, dass Sie nicht gegen den aktuellen Master-Header differieren möchten, falls der Master seit der letzten Fusion fortgeschritten ist) ). Kopiere dieses SHA1 und lege es in dein git difftool :

%Vor%

Um es so einzurichten, dass du nicht jedesmal als diffdool angeben musst, setze es einfach in die config:

%Vor%     
exclipy 09.10.2011 06:56
quelle
0

Eclipse kann den Vergleichsteil machen. Sie können mit der rechten Maustaste auf das Projekt klicken und

auswählen %Vor%

Das zeigt dir den Unterschied zwischen den 2 Zweigen. Aber weder git noch irgendeine git GUI, die ich kenne, unterstützt Quetschungen, die IMHO zu schlecht sind.

Also mache ich ein

%Vor%

(falls ich 3 Commits hatte, möchte ich Squash machen).

    
RaB 07.03.2012 08:23
quelle