2016-05-31 5 views
1

schrieb ich einen Shell-Skript, das den neuesten Code von git erhalten und dann starten Sie die Programmdauer Codelogik wie folgt gezeigt wird:
git pull origin master the_command_of_restart Aber ich fand, obwohl der git Befehl erfolgreich ausgeführt, nach einem Neustart des Programm war es noch lief alten code.Es schien, dass nach git pull, das Git-Repository aktualisiert wurde abgeschlossen, aber die Dateien mit dem Repository beteiligt waren nicht fertig geschrieben worden.
Wenn was ich denke, ist wahr, wie kann ich den Neustart-Befehl ausführen, nachdem alle geänderten Datei fertig geschrieben.Wurden alle beteiligten Dateien fertig geschrieben, nachdem das Ergebnis von git pull gedruckt wurde?

Antwort

0

Wenn zwei Pipelines durch `& & 'getrennt sind, wird die zweite Pipeline erst nach dem ersten Erfolg ausgeführt (gibt einen Nullstatus zurück).

+0

Ich denke, es ist nicht das Problem der Shell. Ich befürchte, dass der Befehl 'git pull' nur die Aktualisierung des Git-Repositories betrifft. Die Änderung lokaler Dateien wird asynchron nach dem erfolgreichen Aktualisieren des git-Repositorys behandelt. – yunnysunny

+0

Sind Sie sicher, dass die Konflikte sauber gelöst wurden? Ich wäre sehr überrascht zu finden, dass 'git-merge' daemonisiert, um Dateien asynchron zu lösen –

+0

Es hat keine Konflikte.Und die' Git-Pull 'erfolgreich ausgeführt, konnte ich das Ergebnis davon sehen. – yunnysunny

0

Ich glaube, ich habe einen Fehler gemacht. Nach dem Ausführen des Befehls git pull werden Dateien überschrieben. Und dieser Befehl ist glaubwürdig.

Verwandte Themen