Ich habe ein Git-Befehl die neueste SHA des laufenden Repo wie folgt zu erhalten:Wie bekomme ich die Ausgabe von einem Aufruf an GIT in eine Variable in einem Batch-Skript?
git log --pretty=format:"%H" -n 1
ich eine Windows-Batch-Skript habe ich dies in verwenden möchten, wie folgt:
SET CURRENT_SHA=???
Aber ich weiß nicht, wie ich die Ausgabe dieses Aufrufs dazu bringen kann, in die Variable hineinzugelangen, damit ich sie nutzen kann.
bearbeiten
Ich habe versucht, die folgenden (die die allgemeinen Ratschläge zu sein scheint, dass ich hier gelesen habe und anderswo):
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=* USEBACKQ" %%i IN (`git log --pretty=format:"%H" -n 1`) DO (SET CURRENT_SHA=%%i)
ECHO Current Sha: %CURRENT_SHA%
..aber ich:
fatal: failed to stat 'format:i) ECHO Current Sha: 48bce83e800b96607afb2a387c4fcd7b0b0f037e
Also vermutlich gibt es ein Problem mit den Zitaten?
Ich glaube, Sie brauchen den Prozentsatz zu verdoppeln Escape für '% H' und dann wieder, weil es in einer Batch-Datei ist. – Duncan
Das und die Flucht der '=' war das Ticket. –