AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

git-rev-parse - En ligne dans le Cloud

Exécutez git-rev-parse dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande git-rev-parse qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


git-rev-parse - Sélection et massage des paramètres

SYNOPSIS


jet parse-rév [ --option ] ...

DESCRIPTION


De nombreuses commandes de porcelaine Git prennent un mélange de drapeaux (c'est-à-dire des paramètres qui commencent par un
tiret -) et les paramètres destinés au sous-jacent jet liste des reves commande qu'ils utilisent en interne
et des indicateurs et des paramètres pour les autres commandes qu'ils utilisent en aval de jet liste des reves. Ce
La commande est utilisée pour les distinguer.

OPTIONS


Opération Modes
Chacune de ces options doit apparaître en premier sur la ligne de commande.

--parséopt
Utilisez jet parse-rév en mode d'analyse en option (voir la section PARSEOPT ci-dessous).

--sq-quote
Utilisez jet parse-rév en mode de citation du shell (voir la section SQ-QUOTE ci-dessous). Contrairement à
l'option --sq ci-dessous, ce mode ne fait que citer. Rien d'autre n'est fait pour commander
contribution.

Options en --parséopt
--keep-dashdash
Significatif uniquement en mode --parseopt. Indique à l'analyseur d'options de renvoyer le premier --
rencontré au lieu de le sauter.

--stop-à-non-option
Significatif uniquement en mode --parseopt. Permet à l'analyseur d'options de s'arrêter au premier
argument de non-option. Cela peut être utilisé pour analyser les sous-commandes qui prennent des options
se.

--collé-long
Significatif uniquement en mode --parseopt. Affichez les options sous leur forme longue si
disponibles, et avec leurs arguments bloqués.

Options en Filtration
--tours-seulement
Ne pas afficher d'indicateurs et de paramètres non destinés à jet liste des reves commander.

--pas de régime
Ne pas afficher d'indicateurs et de paramètres destinés à jet liste des reves commander.

--drapeaux
Ne pas sortir les paramètres sans indicateur.

--pas de drapeaux
Ne pas sortir les paramètres d'indicateur.

Options en Sortie
--défaut
S'il n'y a pas de paramètre donné par l'utilisateur, utilisez au lieu.

--préfixe
Comportez-vous comme si jet parse-rév a été invoqué de la sous-répertoire de travail
arbre. Tous les noms de fichiers relatifs sont résolus comme s'ils étaient préfixés par et sera
imprimé sous cette forme.

Cela peut être utilisé pour convertir des arguments en une commande exécutée dans un sous-répertoire afin qu'ils
peut toujours être utilisé après le passage au niveau supérieur du référentiel. Par exemple:

préfixe=$(git rev-parse --show-prefix)
cd "$(git rev-parse --show-toplevel)"
eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"

--Vérifier
Vérifiez qu'exactement un paramètre est fourni et qu'il peut être transformé en un
SHA-20 de 1 octets pouvant être utilisé pour accéder à la base de données d'objets. Si c'est le cas, émettez-le au
sortie standard; sinon, erreur.

Si vous voulez vous assurer que la sortie nomme réellement un objet dans votre objet
base de données et/ou peut être utilisé comme un type spécifique d'objet dont vous avez besoin, vous pouvez ajouter le
^{type} opérateur d'épluchage au paramètre. Par exemple, git rev-parse "$VAR^{commit}"
s'assurera que $VAR nomme un objet existant qui est un commit-ish (c'est-à-dire un commit, ou
une balise annotée qui pointe vers un commit). Pour s'assurer que $VAR nomme un
objet de tout type, git rev-parse "$VAR^{object}" peut être utilisé.

-q, --calme
Significatif uniquement en mode --verify. N'affiche pas de message d'erreur si le premier argument
n'est pas un nom d'objet valide ; à la place, quittez silencieusement avec un statut différent de zéro. SHA-1 pour
les noms d'objets valides sont imprimés sur stdout en cas de succès.

--carré
Habituellement, la sortie est faite d'une ligne par indicateur et paramètre. Cette option fait de la sortie un
une seule ligne, correctement cotée pour la consommation par shell. Utile lorsque vous attendez votre
paramètre pour contenir des espaces et des nouvelles lignes (par exemple lors de l'utilisation de pickaxe -S avec jet
diff-*). Contrairement à l'option --sq-quote, l'entrée de commande est toujours interprétée
comme d'habitude.

--ne pas
Lors de l'affichage des noms d'objets, préfixez-les avec ^ et bande ^ préfixe des noms d'objet
qui en ont déjà un.

--abbrev-ref[=(strict|loose)]
Un nom court non ambigu du nom des objets. L'option core.warnAmbiguousRefs est
utilisé pour sélectionner le mode d'abréviation strict.

--short, --short=nombre
Au lieu de sortir les valeurs SHA-1 complètes des noms d'objet, essayez de les abréger en
un nom unique plus court. Lorsqu'aucune longueur n'est spécifiée, 7 est utilisé. La longueur minimale est de 4.

--symbolique
Habituellement, les noms d'objet sont affichés sous forme SHA-1 (avec ^ préfixe); cette
L'option les rend sorties sous une forme aussi proche que possible de l'entrée d'origine.

--nom-complet-symbolique
Ceci est similaire à --symbolic, mais il omet les entrées qui ne sont pas des références (c'est-à-dire branche ou
noms de balises ; ou plus explicitement la forme "têtes/maîtres", quand vous voulez
nommez la branche "master" lorsqu'il y a une balise malheureusement nommée "master"), et affichez
les en tant que refnames complets (par exemple "refs/heads/master").

Options en Objets
--tout
Afficher toutes les références trouvées dans refs/.

--branches[=motif], --tags[=motif], --remotes[=motif]
Afficher toutes les branches, balises ou branches de suivi à distance, respectivement (c'est-à-dire les références trouvées
dans refs/heads, refs/tags ou refs/remotes, respectivement).

Si un motif est donné, seules les références correspondant au glob du shell donné sont affichées. Si la
le motif ne contient pas de caractère global (?, * ou [), il est transformé en préfixe
match en ajoutant /*.

--glob=motif
Afficher toutes les références correspondant au modèle de motif glob du shell. Si le motif ne démarre pas
avec refs/, ceci est automatiquement ajouté au début. Si le motif ne contient pas de
caractère global (?, * ou [), il est transformé en correspondance de préfixe en ajoutant /*.

--exclude=
Ne pas inclure les références correspondantes que le prochain --all, --branches, --tags,
--remotes, ou --glob prendrait en compte autrement. Les répétitions de cette option s'accumulent
motifs d'exclusion jusqu'au prochain --all, --branches, --tags, --remotes ou --glob
option (les autres options ou arguments n'effacent pas les motifs accumulés).

Les modèles donnés ne doivent pas commencer par refs/heads, refs/tags ou refs/remotes lorsque
appliqué à --branches, --tags ou --remotes, respectivement, et ils doivent commencer par
refs/ lorsqu'il est appliqué à --glob ou --all. Si une traînée /* est destiné, il doit être donné
explicitement.

--désambiguïser=
Affiche chaque objet dont le nom commence par le préfixe donné. Les doit être à
au moins 4 chiffres hexadécimaux pour éviter de lister chaque objet dans le
référentiel par erreur.

Options en Fichiers
--local-env-vars
Répertoriez les variables d'environnement GIT_* qui sont locales au référentiel (par exemple GIT_DIR ou
GIT_WORK_TREE, mais pas GIT_EDITOR). Seuls les noms des variables sont répertoriés, pas
leur valeur, même s'ils sont fixés.

--git-dir
Afficher $GIT_DIR si défini. Sinon, affichez le chemin d'accès au répertoire .git. Le chemin
affiché, lorsqu'il est relatif, est relatif au répertoire de travail actuel.

Si $GIT_DIR n'est pas défini et que le répertoire actuel n'est pas détecté comme se trouvant dans un Git
le référentiel ou l'arbre de travail imprime un message sur stderr et quitte avec un statut différent de zéro.

--git-common-dir
Afficher $GIT_COMMON_DIR si défini, sinon $GIT_DIR.

--est-à l'intérieur-git-dir
Lorsque le répertoire de travail actuel est en dessous du répertoire du référentiel, affichez "true",
sinon "faux".

--est-à l'intérieur de l'arbre de travail
Lorsque le répertoire de travail actuel se trouve dans l'arbre de travail du référentiel print
"vrai", sinon "faux".

--est-un-dépôt-nu
Lorsque le référentiel est nu, écrivez "true", sinon "false".

--resolve-git-dir
Vérifier si est un référentiel valide ou un gitfile qui pointe vers un référentiel valide,
et imprimez l'emplacement du référentiel. Si est un gitfile alors le résolu
chemin vers le référentiel réel est imprimé.

--git-chemin
Résoudre "$GIT_DIR/ " et prend d'autres variables de relocalisation de chemin telles que
$GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... en compte. Par exemple, si
$GIT_OBJECT_DIRECTORY est défini sur /foo/bar puis "git rev-parse --git-path objects/abc"
renvoie /foo/bar/abc.

--show-cdup
Lorsque la commande est invoquée à partir d'un sous-répertoire, affichez le chemin du niveau supérieur
répertoire relatif au répertoire courant (typiquement une séquence de "../", ou un
chaîne vide).

--show-préfixe
Lorsque la commande est invoquée à partir d'un sous-répertoire, affiche le chemin du
répertoire par rapport au répertoire de niveau supérieur.

--show-toplevel
Affiche le chemin absolu du répertoire de niveau supérieur.

--chemin-index-partagé
Affiche le chemin d'accès au fichier d'index partagé en mode d'index fractionné, ou vide s'il n'est pas en
mode index fractionné.

Autre Options
--since=chaînedate, --after=chaînedate
Analysez la chaîne de date et affichez le paramètre --max-age= correspondant pour jet
liste des reves.

--until=chaînedate, --before=chaînedate
Analysez la chaîne de date et affichez le paramètre --min-age= correspondant pour jet
liste des reves.

...
Drapeaux et paramètres à analyser.

EN PRÉCISANT RÉVISIONS


Un paramètre de révision généralement, mais pas nécessairement, nomme un objet commit. Il utilise
ce qu'on appelle un prolongé SHA-1 syntaxe. Voici différentes façons d'épeler les noms d'objets. Les
ceux répertoriés vers la fin de cette liste nomment les arbres et les blobs contenus dans un commit.

, par exemple dae86e1950b1277e545cee180551750029cfe735, dae86e
Le nom complet de l'objet SHA-1 (chaîne hexadécimale de 40 octets) ou une sous-chaîne de début qui
est unique dans le référentiel. Par exemple, dae86e1950b1277e545cee180551750029cfe735 et
dae86e nomme tous les deux le même objet de validation s'il n'y a pas d'autre objet dans votre référentiel
dont le nom d'objet commence par dae86e.

, par exemple v1.7.4.2-679-g3bee7fb
Sortie de git describe ; c'est-à-dire une balise la plus proche, éventuellement suivie d'un tiret et d'un
nombre de commits, suivi d'un tiret, d'un g, et un nom d'objet abrégé.

, par exemple maître, chefs/maître, arbitres/chefs/maître
Un nom de référence symbolique. Par exemple maître signifie généralement l'objet commit référencé par
arbitres/chefs/maître. S'il vous arrive d'avoir les deux chefs/maître ainsi que balises/maître, vous pouvez
dire explicitement chefs/maître pour dire à Git lequel vous voulez dire. Lorsqu'il est ambigu, un
est désambiguïsé en prenant la première correspondance dans les règles suivantes :

1. Si $GIT_DIR/ existe, c'est ce que vous voulez dire (cela n'est généralement utile que
en TÊTE, FETCH_HEAD, ORIG_HEAD, MERGE_HEAD ainsi que CHERRY_PICK_HEAD);

2. sinon, réf/ s'il existe ;

3. sinon, références/balises/ s'il existe ;

4. sinon, refs/chefs/ s'il existe ;

5. sinon, réfs/télécommandes/ s'il existe ;

6. sinon, réfs/télécommandes/ /DIRIGER S'il existe.

TÊTE nomme le commit sur lequel vous avez basé les modifications dans l'arbre de travail.
FETCH_HEAD enregistre la branche que vous avez récupérée à partir d'un référentiel distant avec votre
dernière invocation de git fetch. ORIG_HEAD est créé par des commandes qui déplacent votre TÊTE
d'une manière drastique, pour enregistrer la position du TÊTE avant leur opération, donc
que vous pouvez facilement remettre l'extrémité de la branche dans l'état avant de courir
Eux. MERGE_HEAD enregistre le(s) commit(s) que vous fusionnez dans votre branche
lorsque vous exécutez git merge. CHERRY_PICK_HEAD enregistre le commit que vous êtes
sélection de cerises lorsque vous exécutez git cherry-pick.

Notez que l'un des réfs/* les cas ci-dessus peuvent provenir soit du $GIT_DIR/réfs
répertoire ou à partir du $GIT_DIR/packed-refs déposer. Alors que l'encodage du nom de référence est
non spécifié, UTF-8 est préféré car certains traitements de sortie peuvent prendre des noms de référence dans
UTF-8.

@
@ seul est un raccourci pour TÊTE.

@{ }, par exemple maître@{hier}, TÊTE@{5 minutes depuis}
Une référence suivie du suffixe @ avec une indication de date enfermée dans une paire d'accolades
(par exemple {hier}, {1 mois 2 semaines 3 jours 1 heure 1 seconde depuis} or {1979/02/26
18:30:00}) spécifie la valeur de la référence à un instant antérieur. Ce suffixe peut
être utilisé uniquement immédiatement après un nom de référence et la référence doit avoir un journal existant
($GIT_DIR/logs/). Notez que cela recherche l'état de votre locales réf à un donné
temps; par exemple, ce qui était dans votre local maître succursale la semaine dernière. Si vous voulez regarder
commits effectués pendant certaines périodes, voir --puisque ainsi que --jusqu'à.

@{ }, par exemple maître@{1}
Une référence suivie du suffixe @ avec une spécification ordinale enfermée dans une paire d'accolades
(par exemple 1 {}, 15 {}) spécifie la n-ième valeur a priori de cette référence. Par exemple maître@{1}
est la valeur a priori immédiate de maître tout en maître@{5} est la 5ème valeur a priori de
maître. Ce suffixe ne peut être utilisé qu'immédiatement après un nom de référence et la référence doit
avoir un journal existant ($GIT_DIR/logs/).

@{ }, par exemple @{1}
Vous pouvez utiliser le @ construire avec une partie ref vide pour accéder à une entrée reflog du
branche actuelle. Par exemple, si vous êtes en succursale blabla puis @{1} signifie la même chose que
blabla@{1}.

@{- }, par exemple @{-1}
La construction @{- } signifie le e branche/commit extrait avant le courant
une.

@{en amont}, par exemple maître@{amont}, @{u}
Le suffixe @{en amont} à un nom de branche (forme courte @{u}) se réfère à la
branche sur laquelle la branche spécifiée par branchname est configurée pour être construite (configurée
avec branche. .distant et branche. .fusionner). Un nom de branche manquant est par défaut
l'actuel.

@{pousser}, par exemple maître@{pousser}, @{pousser}
Le suffixe @{pousser} signale la branche "où nous pousserions vers" si git push était exécuté
tandis que branchname a été extrait (ou le courant TÊTE si aucun nom de branche n'est spécifié).
Étant donné que notre destination push est dans un référentiel distant, bien sûr, nous rapportons le local
branche de suivi qui correspond à cette branche (c'est-à-dire quelque chose dans réfs/télécommandes/).

Voici un exemple pour que ce soit plus clair :

$ git config push.default actuel
$ git config distant.pushdefault ma fourchette
$ git checkout -b mabranche origine/maître

$ git rev-parse --symbolic-full-name @{amont}
réfs/télécommandes/origine/maître

$ git rev-parse --symbolic-full-name @{push}
réfs/télécommandes/myfork/mybranch

Notez dans l'exemple que nous avons mis en place un workflow triangulaire, où nous tirons d'un
emplacement et pousser à un autre. Dans un flux de travail non triangulaire, @{pousser} est la même que
@{en amont}, et il n'y en a pas besoin.

^, par exemple TÊTE^, v1.5.1^0
Un suffixe ^ à un paramètre de révision signifie le premier parent de cet objet de validation. ^
signifie le le parent (c'est-à-dire ^ équivaut à ^1). En règle spéciale,
^0 signifie le commit lui-même et est utilisé lorsque est le nom d'objet d'une balise
objet qui fait référence à un objet commit.

~, par exemple maître~3
Un suffixe ~ à un paramètre de révision signifie l'objet commit qui est le e
ancêtre de génération de l'objet commit nommé, suivant uniquement les premiers parents. C'est à dire
~3 équivaut à ^^^ ce qui équivaut à ^1^1^1. Voir ci-dessous pour un
illustration de l'utilisation de ce formulaire.

^{ }, par exemple v0.99.8^{commettre}
Un suffixe ^ suivi d'un nom de type d'objet entre accolades signifie déréférencement
l'objet à récursivement jusqu'à ce qu'un objet de type est trouvé ou l'objet
ne peut plus être déréférencé (auquel cas, barf). Par exemple, si est une
s'engager, ^{s'engager} décrit l'objet commit correspondant. De même, si
est un arbre, ^{arbre} décrit l'objet arbre correspondant. ^0 is
un raccourci pour ^{s'engager}.

rev^{objet} peut être utilisé pour s'assurer tour nomme un objet qui existe, sans
exigeant tour être un tag, et sans déréférencement tour; car une balise est déjà un
objet, il n'a pas besoin d'être déréférencé une seule fois pour accéder à un objet.

rév^{tag} peut être utilisé pour garantir que tour identifie un objet tag existant.

^{}, par exemple v0.99.8^{}
Un suffixe ^ suivi d'une paire d'accolades vide signifie que l'objet pourrait être une balise, et
déréférencer la balise de manière récursive jusqu'à ce qu'un objet non-balise soit trouvé.

^{/ }, par exemple TÊTE^{/fix méchant bogue}
Un suffixe ^ à un paramètre de révision, suivi d'une paire d'accolades qui contient une led de texte
par une barre oblique, est le même que le :/réparer méchant bug syntaxe ci-dessous, sauf qu'elle renvoie le
le plus jeune commit correspondant accessible depuis le before ^.

:/, par exemple :/réparer méchant bug
Un deux-points, suivi d'une barre oblique, suivi d'un texte, nomme un commit dont le message de commit
correspond à l'expression régulière spécifiée. Ce nom renvoie le plus jeune correspondant
commit accessible depuis n'importe quelle référence. Si le message de validation commence par un ! you
dois répéter cela; la séquence spéciale :/!, suivi d'autre chose que !, est
réservé pour l'instant. L'expression régulière peut correspondre à n'importe quelle partie du message de validation. À
faire correspondre les messages commençant par une chaîne, on peut utiliser par exemple :/^toto.

:, par exemple TÊTE :LISEZ-MOI, :LISEZ-MOI, maître :./LISEZMOI
Un suffixe : suivi d'un chemin nomme le blob ou l'arbre au chemin donné dans l'arborescence
objet nommé par la partie avant les deux points. :chemin (avec une partie vide avant le
deux-points) est un cas particulier de la syntaxe décrite ci-après : contenu enregistré dans l'index
au chemin donné. Un chemin commençant par ./ or .. / est relatif au fonctionnement actuel
annuaire. Le chemin donné sera converti pour être relatif à la racine de l'arbre de travail
annuaire. Ceci est très utile pour adresser un blob ou un arbre à partir d'un commit ou d'un arbre qui
a la même structure arborescente que l'arbre de travail.

: :, par exemple :0:LISEZ-MOI, :LISEZ-MOI
Un deux-points, éventuellement suivi d'un numéro d'étape (0 à 3) et un deux-points, suivi d'un
path, nomme un objet blob dans l'index au chemin donné. Un numéro d'étape manquant (et
les deux points qui le suivent) nomme une entrée de niveau 0. Lors d'une fusion, l'étape 1 est la
ancêtre commun, l'étape 2 est la version de la branche cible (généralement la version actuelle
branche), et l'étape 3 est la version de la branche qui est fusionnée.

Voici une illustration, par Jon Loeliger. Les deux nœuds de validation B et C sont les parents de commit
nœud A. Les commits parents sont classés de gauche à droite.

GHIJ
\ / \ /
FED
\ | /\
\ | / |
\|/ |
avant JC
\ /
\ /
A

UNE = = UNE^0
B = UNE^ = UNE^1 = UNE~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B ^ 2 = A ^ ^ 2
F = B ^ 3 = A ^ ^ 3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2

EN PRÉCISANT GAMMES


Les commandes de traversée de l'historique telles que git log fonctionnent sur un ensemble de commits, pas seulement un seul
s'engager. A ces commandes, en spécifiant une seule révision avec la notation décrite dans le
la section précédente signifie l'ensemble des commits accessibles à partir de ce commit, après le commit
chaîne d'ascendance.

Pour exclure les commits accessibles d'un commit, un préfixe ^ la notation est utilisée. Par exemple ^r1 r2 veux dire
commits accessibles depuis r2 mais excluez ceux accessibles depuis r1.

Cette opération définie apparaît si souvent qu'il existe un raccourci pour cela. Quand tu as deux
commits r1 ainsi que r2 (nommé selon la syntaxe expliquée dans la spécification des révisions ci-dessus),
vous pouvez demander des commits accessibles depuis r2 à l'exclusion de ceux accessibles depuis
r1 par ^r1 r2 et il peut être écrit comme r1..r2.

Une note similaire r1...r2 est appelée différence symétrique de r1 ainsi que r2 et est défini comme
r1 r2 --ne pas $(git base de fusion --tout r1 r2). C'est l'ensemble des commits atteignables
de l'un ou l'autre de r1 or r2 mais pas des deux.

Dans ces deux raccourcis, vous pouvez omettre une extrémité et la laisser par défaut à HEAD. Par exemple,
origine.. est un raccourci pour origine..TÊTE et demande "Qu'ai-je fait depuis que j'ai bifurqué du
branche d'origine ?" De même, ..origine est un raccourci pour TÊTE..origine et demande "Qu'est-ce que le
origine depuis que je les ai forgés ?" Notez que .. signifierait TÊTE..TÊTE qui est un vide
portée à la fois accessible et inaccessible depuis HEAD.

Deux autres raccourcis pour nommer un ensemble formé d'un commit et de ses commits parents
exister. le r1^@ notation signifie tous les parents de r1. r1^ ! comprend commit r1 mais exclut tout
de ses parents.

Pour résumer:


Inclure les commits accessibles depuis (c'est-à-dire les ancêtres de) .

^
Exclure les commits accessibles depuis (c'est-à-dire les ancêtres de) .

..
Inclure les commits qui sont accessibles à partir de mais exclure ceux qui sont accessibles
de . Quand soit ou est omis, la valeur par défaut est TÊTE.

...
Incluez des commits accessibles depuis ou mais exclure ceux qui
sont accessibles des deux. Quand soit ou est omis, la valeur par défaut est TÊTE.

^@, par exemple TÊTE^@
Un suffixe ^ suivi d'un at est identique à la liste de tous les parents de
(c'est-à-dire inclure tout ce qui est accessible depuis ses parents, mais pas le commit lui-même).

^!, par exemple TÊTE^!
Un suffixe ^ suivi d'un point d'exclamation équivaut à donner commit et alors
tous ses parents préfixés par ^ les exclure (ainsi que leurs ancêtres).

Voici une poignée d'exemples :

DGHD
DFGHIJDF
^GDHD
^DBEIJFB
B..CC
B...CGHDEBC
^DBCEIJFBC
CIJFC
C^@ FIJ
C^ ! C
F^! DGHDF

PARSEOPTE


En mode --parseopt, jet parse-rév aide les options de massage pour apporter aux scripts shell le
les mêmes installations que C que les construits ont. Cela fonctionne comme un normalisateur d'options (par exemple, divise un seul
change les valeurs agrégées), un peu comme obtenir(1).

Il prend sur l'entrée standard la spécification des options à analyser et à comprendre,
et fait écho sur la sortie standard une chaîne adaptée à sh(1) eval pour remplacer le
arguments avec ceux normalisés. En cas d'erreur, il affiche l'utilisation sur l'erreur standard
stream et sort avec le code 129.

Remarque : Assurez-vous de citer le résultat lorsque vous le transmettez à eval. Voir ci-dessous pour un exemple.

Entrée Format
jet parse-rév --parséopt le format d'entrée est entièrement basé sur du texte. Il se compose de deux parties séparées par
une ligne qui ne contient que --. Les lignes avant le séparateur (devrait être une ou plusieurs) sont
utilisé pour l'utilisation. Les lignes après le séparateur décrivent les options.

Chaque ligne d'options a ce format :

* ? SP+ aide LF


son format est le caractère court de l'option, puis le nom long de l'option séparé par un
virgule. Les deux parties ne sont pas nécessaires, bien qu'au moins une soit nécessaire. Ne peut pas contenir
n'importe lequel des personnages. h, help, dry-run et f sont des exemples de
.


sont de *, =, ? ou !.

· Utilisez = si l'option prend un argument.

· Utilisation ? pour signifier que l'option prend un argument optionnel. Vous voulez probablement
utilisez le mode --stuck-long pour pouvoir analyser sans ambiguïté l'argument facultatif.

· Utilisez * pour signifier que cette option ne doit pas être répertoriée dans l'utilisation générée pour le
-h argument. Il est affiché pour --help-all comme documenté dans gitcli (7).

· Utilisation ! pour ne pas rendre disponible l'option longue niée correspondante.


, s'il est spécifié, est utilisé comme nom de l'argument dans la sortie d'aide, pour
options qui prennent des arguments. se termine par le premier espace. Il est
l'habitude d'utiliser un tiret pour séparer les mots dans un indice d'argument à plusieurs mots.

Le reste de la ligne, après suppression des espaces, sert d'aide associée à
l'option.

Les lignes vides sont ignorées et les lignes qui ne correspondent pas à cette spécification sont utilisées comme option
en-têtes de groupe (commencez la ligne par un espace pour créer de telles lignes à dessein).

Exemple
OPTS_SPEC="\
une commande [options] ...

some-command fait foo et bar !
--
h, aide montre l'aide

foo une option astucieuse --foo
bar= une option sympa --bar avec un argument
baz=arg une autre option intéressante --baz avec un argument nommé
qux?chemin qux peut prendre un argument de chemin mais a une signification en soi

Un en-tête de groupe d'options
C? option C avec un argument optionnel"

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"

Utilisation texte
Lorsque "$@" vaut -h ou --help dans l'exemple ci-dessus, le texte d'utilisation suivant s'affichera :

utilisation : une commande [options] ...

some-command fait foo et bar !

-h, --help affiche l'aide
--foo une option intéressante --foo
--bar ... une option sympa --bar avec un argument
--baz une autre option intéressante --baz avec un argument nommé
--qux[= ] qux peut prendre un argument de chemin mais a une signification en soi

Un en-tête de groupe d'options
-C[...] option C avec un argument optionnel

SQ-CITATION


En mode --sq-quote, jet parse-rév fait écho sur la sortie standard une seule ligne adaptée à
sh(1) éval. Cette ligne est faite en normalisant les arguments suivant --sq-quote. Rien
autre que de citer les arguments est fait.

Si vous voulez que l'entrée de commande soit toujours interprétée comme d'habitude par jet parse-rév avant la
la sortie est entre guillemets, voir l'option --sq.

Exemple
$ cat >votre-git-script.sh <<\EOF
#!/ Bin / sh
args=$(git rev-parse --sq-quote "$@") # citer les arguments fournis par l'utilisateur
command="git frotz -n24 $args" # et utilisez-le dans un
# ligne de commande
eval "$commande"
EOF

$ sh your-git-script.sh "a b'c"

EXEMPLES


· Imprimer le nom de l'objet du commit actuel :

$ git rev-parse --verify HEAD

· Imprimez le nom de l'objet commit à partir de la révision dans la variable shell $REV :

$ git rev-parse --verify $REV^{commit}

Cela générera une erreur si $REV est vide ou n'est pas une révision valide.

· Similaire à ci-dessus :

$ git rev-parse --default master --verify $REV

mais si $REV est vide, le nom de l'objet commit du master sera imprimé.

GIT


Une partie de l' jet(1) Suite

Utilisez git-rev-parse en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Alt+F
    Alt+F
    Alt-F fournit une source libre et ouverte
    firmware alternatif pour le DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F a Samba et NFS ;
    prend en charge ext2/3/4...
    Télécharger Alt-F
  • 2
    usm
    usm
    Usm est un package slackware unifié
    gestionnaire qui gère automatique
    résolution de dépendance. Il unifie
    divers référentiels de packages, y compris
    slackware, slacky, p...
    Télécharger usm
  • 3
    Chart.js
    Chart.js
    Chart.js est une bibliothèque Javascript qui
    permet aux concepteurs et aux développeurs de dessiner
    toutes sortes de graphiques utilisant le HTML5
    élément de toile. Chart js offre un excellent
    déployer ...
    Télécharger Chart.js
  • 4
    iReport-Designer pour JasperReports
    iReport-Designer pour JasperReports
    REMARQUE : Prise en charge d'iReport/Jaspersoft Studio
    Annonce : Depuis la version 5.5.0,
    Jaspersoft Studio sera l'officiel
    client de conception pour JasperReports. iRapport
    volonté...
    Télécharger iReport-Designer pour JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF installera tous les
    logiciels que Fedora Linux et d'autres
    n'inclut pas par défaut, après
    exécutant Fedora pour la première fois. Son
    facile pour...
    Télécharger PostInstallerF
  • 6
    strass
    strass
    Le projet strace a été déplacé vers
    https://strace.io. strace is a
    diagnostic, débogage et instruction
    traceur d'espace utilisateur pour Linux. C'est utilisé
    surveiller un...
    Télécharger
  • Plus "

Commandes Linux

Ad