Wie schreibe ich ein Shell-Skript, das prüft, ob das git-Repository auf dem neuesten Stand ist?

8
%Vor%

Der obige Code ist etwas, das ich aus einem Skript, das ich auf Stackoverflow gefunden habe, bearbeitet habe, um Emacs aus dem git-Repository zu installieren. Ich möchte, dass dieses Skript alle Programme von Git-Repos installiert und sie aktualisiert, wenn ein Update erforderlich ist. Natürlich muss ich die Schritte zur Installation bereitstellen. In diesem Fall muss nur das Verzeichnis clientside in das Verzeichnis /usr/share/gedit/plugins/ kopiert werden.

Ich brauche keine Hilfe bei der Installation eines Skripts, aber was ich brauche ist, wie man überprüft, ob das Repository auf dem neuesten Stand ist und von dort aus geht.

Im Moment verstehe ich diesen Teil nicht:

%Vor%

Wenn ich git pull 1>&1 | grep "Already up-to-date." && $? im Terminal ausführen, lautet die Ausgabe Already up-to-date. 0 . So verstehe ich, dass dies der Teil ist, der nach Updates sucht, aber der nächste Teil nicht ausgeführt wird (die if-Anweisung) - das ist der Teil, der das Verzeichnis in das gedit Plugin-Verzeichnis kopiert. Ich verstehe nicht, was 1> bedeutet oder was $? bedeutet. Daher konnte ich das Problem nicht lösen ... Und was ich nicht verstehe ist, warum es Branch is moved denkt, wenn es nicht auf dem neuesten Stand ist (ich nehme nur an, dass es sagt, dass wenn git pull nicht% zurückgibt co_de% in der if-Anweisung).

Ich bin mir sicher, dass es eine einfache Lösung gibt und die Antwort wird sowohl für bash als auch für git sein. Ich schätze all die Hilfe.

Ich benutze Ubuntu 12.04.

    
Logan 06.12.2012, 03:15
quelle

3 Antworten

11

Ich würde lieber die Lösung von " git: prüfen, ob Pull benötigt ":

%Vor%     
VonC 06.12.2012, 06:45
quelle
5

Wie bereits von Vonc bemerkt, überschneidet sich diese Frage mit " git: Überprüfen Sie, ob Pull benötigt ".

Dort schlug ich das folgende einzeilige Skript vor, das den SHA1 der letzten Commit-Version übernimmt und mit dem vergleicht einer der entfernten Herkunft

%Vor%     
Claudio Floreani 10.03.2013 17:52
quelle
5

Ich musste Claudio's Antwort bearbeiten

%Vor%     
Mike 04.06.2013 14:33
quelle

Tags und Links