2016-03-07 11 views
5

Ich merke, dass ich das ziemlich oft tippe, wie wenn ich etwas ändere, es verpfände, und dann entweder etwas nachschlagen muss, was ich als nächstes tun muss, oder sicherstellen, dass ich nichts unbeabsichtigtes hinzufüge das Commit, bevor Sie es zu einer Fernbedienung schieben.Ist die kürzere Art des Schreibens git diff HEAD^HEAD?

Zwar diff HEAD^ HEAD ist schnell genug zu geben (git diTABH^ HTAB), aber es fühlt sich immer noch wie sollte es einen besseren Weg geben.

Wie erkenne ich am einfachsten alle Änderungen beim letzten Commit?

Antwort

9

Versuchen Sie git show. Ohne andere Optionen zeigt es ein Diff des letzten Commits.

git show $something zeigt den Inhalt von $something in einer benutzerfreundlichen Art und Weise. Wenn $something auf eine Datei verweist, zeigt git show den Inhalt der Datei an. Wenn es sich auf ein Commit bezieht, zeigt Git das Commit (Autor, Datum, Commit Log und Diff). git show ohne weitere Argumente entspricht git show HEAD.

+0

Brilliant! Könnten Sie auch erklären, warum 'show' das tut? Normalerweise benutze ich das, um ganze Dateien bei einer Revision anzuzeigen; hätte aber nie, dass es ein diff zeigt, wenn keine Argumente gegeben werden. – leftaroundabout

+0

@leftaroundabout 'git show ' zeigt die Protokollnachricht und den textuellen Vergleich des angegebenen Commits an. Wenn keine Commit-ID angegeben ist, wird HEAD verwendet. – Frodon

4

können Sie eine der folgenden Optionen verwenden:

(die eine auswählen, die zu Ihnen passt und es ein Alias ​​machen).

# the equivalent command (dry run) for pull/push 
git log ^branch1 branch2 
git log branch1 ^branch 2 

git show

# to view the content of the last commit 
git show 

Zeigt ein oder mehrere Objekte (Blobs, Bäume, Tags und verpflichtet).

Für die Commits zeigt es die Log-Nachricht und Text diff. Es zeigt auch das Zusammenführungs-Commit in einem speziellen Format, wie es von git diff-tree -cc erzeugt wird.


git log --cc

Von git v> 2.6 Sie haben die --cc Flag zum Protokoll hinzugefügt, so dass Sie mit

git log --cc 

Es zeigt das vollständige Protokoll verwenden können das Diff auch.

enter image description here


git diff-tree --cc HEAD

Sehr ähnlich dem git log --cc. Hinter den Kulissen git show ist ein Alias ​​für diesen Befehl.

enter image description here

+0

Ich werde wahrscheinlich hauptsächlich die einfache 'git show' verwenden, aber auch schön über' log --cc'. Könnte nützlich sein, wenn ich über die letzten _Three_ Commits oder so wissen muss. – leftaroundabout

3

Ich fand auch, dass in this post@ eine Abkürzung für HEAD ist. So

git diff @^ @ 

oder

git show @ 

ist auch eine Option.

+1

Ja, @ ist tatsächlich ein Alias ​​für HEAD. – CodeWizard

0

Eine ziemlich süße Art wäre die Verwendung eines Alias. Sicher, es ist eine schnelle Lösung, aber

würde den Trick tun. Jetzt können Sie verwenden:

$> gd 

und Ihren Befehl würde ausgeführt werden.

Fügen Sie den Befehl alias zu Ihrer ~/.bashrc oder ähnlich hinzu, und Sie müssen es nicht am Anfang jeder Konsolensitzung schreiben.

Verwandte Themen