EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

git-for-each-ref – Online in der Cloud

Führen Sie git-for-each-ref im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl git-for-each-ref, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-for-each-ref – Informationen zu jeder Referenz ausgeben

ZUSAMMENFASSUNG


git für-jeden-Ref [--count= ] [--shell|--perl|--python|--tcl]
[(--sort= )...] [--format= ] [ ...]
[--points-at ] [(--merged | --no-merged) [ ]]
[--contains [ ]]

BESCHREIBUNG


Iterieren Sie über alle übereinstimmenden Refs und zeige sie entsprechend dem Gegebenen ,
nachdem Sie sie entsprechend der angegebenen Menge sortiert haben . Wenn gegeben ist, höre danach auf
zeigt, dass viele Schiedsrichter. Die interpolierten Werte in kann optional als zitiert werden
String-Literale in der angegebenen Hostsprache, die ihre direkte Auswertung darin ermöglichen
Sprache.

OPTIONAL



Standardmäßig zeigt der Befehl alle übereinstimmenden Referenzen an . Mit dieser Option wird es gestoppt
nachdem ich so viele Schiedsrichter gezeigt habe.


Ein Feldname, nach dem sortiert werden soll. Präfix – zum Sortieren in absteigender Reihenfolge des Werts. Wenn
nicht angegeben, Referenzname wird verwendet. Sie können --sort= verwenden Option mehrmals, in
In diesem Fall wird der letzte Schlüssel zum Primärschlüssel.


Eine Zeichenfolge, die %(Feldname) aus dem Objekt interpoliert, auf das eine Referenz verweist
gezeigt. Wenn dem Feldnamen ein Sternchen (*) vorangestellt ist und der Verweis auf ein Tag zeigt
Objekt wird der Wert für das Feld im Objekt-Tag verwendet. Wenn nicht angegeben,
Der Standardwert ist %(objectname) SPC %(objecttype) TAB %(refname). Es interpoliert auch %% zu
%, und %xx, wobei xx Hexadezimalziffern sind, interpoliert zu Zeichen mit Hexadezimalcode xx; für
Beispiel: %00 interpoliert zu \0 (NUL), %09 zu \t (TAB) und %0a zu \n (LF).

...
Wenn ein oder mehrere Muster angegeben sind, werden nur Refs angezeigt, die mit mindestens einem übereinstimmen
Muster, entweder mit fnmatch(3) oder wörtlich, im letzteren Fall vollständig übereinstimmend
oder vom Anfang bis zu einem Schrägstrich.

-Shell, --perl,--Python,--tcl
Falls angegeben, werden Zeichenfolgen, die %(fieldname)-Platzhalter ersetzen, als Zeichenfolge in Anführungszeichen gesetzt
Literale, die für die angegebene Hostsprache geeignet sind. Damit soll eine erzeugt werden
Skriptlet, das direkt „ausgewertet“ werden kann.

--points-at
Listen Sie nur Refs auf, die auf das angegebene Objekt zeigen.

--merged [ ]
Listen Sie nur Refs auf, deren Tipps über den angegebenen Commit erreichbar sind (HEAD, falls nicht).
spezifiziert).

--no-merged [ ]
Listen Sie nur Refs auf, deren Tipps vom angegebenen Commit aus nicht erreichbar sind (HEAD, wenn nicht).
spezifiziert).

--contains [ ]
Nur Tags auflisten, die den angegebenen Commit enthalten (HEAD, wenn nicht angegeben).

FELD NAMEN


Zur Interpolation können verschiedene Werte aus strukturierten Feldern in referenzierten Objekten verwendet werden
in die resultierende Ausgabe oder als Sortierschlüssel.

Für alle Objekte können folgende Namen verwendet werden:

Referenzname
Der Name der Referenz (der Teil nach $GIT_DIR/). Für einen eindeutigen Kurznamen des
ref anhängen :kurz. Die Option core.warnAmbiguousRefs wird verwendet, um das Strikte auszuwählen
Abkürzungsmodus. Wenn strip= wird angehängt, Streifen durch Schrägstriche getrennter Pfad
Komponenten von der Vorderseite des Refnamens (z. B. %(refname:strip=2) werden zu refs/tags/foo
in foo. muss eine positive ganze Zahl sein. Wenn eine angezeigte Referenz weniger Komponenten hat
als , bricht der Befehl mit einem Fehler ab.

Objekttyp
Der Typ des Objekts (Blob, Baum, Commit, Tag).

Objektgröße
Die Größe des Objekts (dasselbe wie git cat-Datei -s Berichte).

Objektname
Der Objektname (auch bekannt als SHA-1). Für eine eindeutige Abkürzung des Objektnamens
anhängen :kurz.

flussaufwärts
Der Name einer lokalen Referenz, die als „upstream“ der angezeigten Referenz betrachtet werden kann.
Respektiert :short auf die gleiche Weise wie refname oben. Respektiert außerdem :track zum Anzeigen
„[ahead N, behind M]“ und :trackshort, um die knappe Version anzuzeigen: „>“ (ahead), „<“
(hinter), „<>“ (vor und hinter) oder „=“ (synchron). Hat keine Auswirkung, wenn der Ref dies nicht tut
mit ihm verknüpfte Tracking-Informationen haben.

drücken
Der Name einer lokalen Referenz, die den @{push}-Speicherort für die angezeigte Referenz darstellt.
Respektiert die Optionen :short, :track und :trackshort wie der Upstream. Erzeugt ein Leerzeichen
Zeichenfolge, wenn keine @{push}-Referenz konfiguriert ist.

KOPF
* wenn HEAD mit der aktuellen Referenz (dem ausgecheckten Zweig) übereinstimmt, andernfalls ' '.

Farbe
Ausgabefarbe ändern. Gefolgt von : , wo Namen beschrieben werden
Farbzweig.*.

ausrichten
Richten Sie den Inhalt zwischen %(align:...) und %(end) links, in der Mitte oder rechts aus. Der
Auf „align:“ folgt Und in beliebiger Reihenfolge durch Komma getrennt,
bei dem die ist entweder links, rechts oder mitte, die Standardeinstellung ist links und
ist die Gesamtlänge des Inhalts mit Ausrichtung. Wenn die Inhaltslänge mehr als beträgt
die Breite, dann wird keine Ausrichtung durchgeführt. Bei Verwendung mit --zitieren alles dazwischen
%(align:...) und %(end) werden in Anführungszeichen gesetzt, aber wenn sie verschachtelt sind, wird nur die oberste Ebene ausgeführt
zitieren.

Darüber hinaus sind für Commit- und Tag-Objekte die Header-Feldnamen (Baum,
Übergeordnetes Element, Objekt, Typ und Tag) können verwendet werden, um den Wert im Header-Feld anzugeben.

Für Commit- und Tag-Objekte entsprechen die speziellen Felder „creatordate“ und „creator“.
das entsprechende Datum oder Name-E-Mail-Datum-Tupel aus den Committer- oder Tagger-Feldern
abhängig vom Objekttyp. Diese sind für die Arbeit an einer Mischung aus kommentierten und
leichte Tags.

Felder, deren Wert das Tupel „Name-E-Mail-Datum“ ist (Autor, Committer und Tagger), können sein
mit dem Suffix Name, E-Mail-Adresse und Datum, um die benannte Komponente zu extrahieren.

Die vollständige Nachricht in einem Commit- und Tag-Objekt ist Inhalt. Seine erste Zeile ist
Inhalt: Betreff, wobei Betreff die Verkettung aller Zeilen der Commit-Nachricht ist
bis zur ersten Leerzeile. Die nächste Zeile ist Inhalt: Körper, wobei body alle Zeilen umfasst
nach der ersten Leerzeile. Die optionale GPG-Signatur ist content:signature. Der erste N
Zeilen der Nachricht werden mit content:lines=N abgerufen.

Zu Sortierzwecken werden Felder mit numerischen Werten in numerischer Reihenfolge sortiert (Objektgröße,
Autordatum, Committerdatum, Erstellerdatum, Taggerdatum). Alle anderen Felder dienen zum Einsortieren
ihre Byte-Wert-Reihenfolge.

Es besteht auch die Möglichkeit, nach Versionen zu sortieren. Dies kann mithilfe des Feldnamens erfolgen
version:refname oder sein Alias ​​v:refname.

In jedem Fall ein Feldname, der auf ein Feld verweist, das für das Objekt, auf das verwiesen wird, nicht anwendbar ist
Der Verweis verursacht keinen Fehler. Stattdessen wird eine leere Zeichenfolge zurückgegeben.

Als Sonderfall für die Felder vom Typ Datum können Sie ein Format für das Datum angeben
Hinzufügen von: gefolgt vom Namen des Datumsformats (siehe die Werte, für die die Option --date gilt). :git-rev-
Liste(1) dauert).

Beispiele:


Ein Beispiel, das direkt formatierten Text erzeugt. Zeigt die letzten 3 getaggten Commits an:

#!/ Bin / sh

git for-each-ref --count=3 --sort='-*authordate' \
--format='Von: %(*Autorenname) %(*Autoren-E-Mail)
Betreff: %(*Betreff)
Datum: %(*Autordatum)
Referenz: %(*Referenzname)

%(*Körper)
' 'refs/tags'

Ein einfaches Beispiel, das die Verwendung von Shell eval für die Ausgabe zeigt und die Verwendung von demonstriert
--Hülse. Listen Sie die Präfixe aller Köpfe auf:

#!/ Bin / sh

git for-each-ref --shell --format="ref=%(refname)" refs/heads | \
beim Lesen des Eintrags
do
eval „$entry“
echo „Verzeichnisname $ref“.
erledigt

Ein etwas ausführlicherer Bericht über Tags, der zeigt, dass es sich bei dem Format möglicherweise um ein Ganzes handelt
Skript:

#!/ Bin / sh

fmt='
r=%(Refname)
t=%(*Objekttyp)
T=${r#refs/tags/}

o=%(*Objektname)
n=%(*Autorenname)
e=%(*Autoren-E-Mail)
s=%(*Betreff)
d=%(*Autordatum)
b=%(*body)

kind=Tag
wenn test „z$t“ = z
dann
# könnte ein leichtgewichtiges Tag sein
t=%(Objekttyp)
kind="Lightweight-Tag"
o=%(Objektname)
n=%(Autorenname)
e=%(Autoren-E-Mail)
s=%(Betreff)
d=%(Autordatum)
b=%(Körper)
fi
echo „$kind $T zeigt auf ein $t Objekt $o“
wenn test „z$t“ = zcommit
dann
echo „Der Commit wurde von $n $e verfasst
bei $d und betitelt

$s

Seine Botschaft lautet wie folgt:
"
echo „$b“ | sed -e "s/^/ /"
Echo
fi
'

eval=`git for-each-ref --shell --format="$fmt" \
--sort='*objecttype' \
--sort=-taggerdate \
refs/tags`
eval „$eval“

Verwenden Sie git-for-each-ref online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad