Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.55.0 no changes
-
2.54.0
2026-04-20
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
- 2.51.2 no changes
-
2.51.1
2025-10-15
- 2.39.1 → 2.51.0 no changes
-
2.39.0
2022-12-12
- 2.15.4 → 2.38.5 no changes
- 2.14.6 no changes
- 2.7.6 → 2.13.7 no changes
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
DESCRIPTION
Lire des rustines à partir de l’entrée standard et calculer les identifiant de rustine.
Un "ID de rustine" n’est rien d’autre qu’une empreinte SHA-1 des diffs de fichiers associés à une rustine, avec les numéros de ligne ignorés. En tant que tel, il est « raisonnablement stable », mais en même temps aussi raisonnablement unique, c’est-à-dire deux rustines qui ont le même « ID de rustine » sont presque garantis d’être la même chose.
Le principal cas d’utilisation de cette commande est de rechercher des commits en double.
Pour traiter la sortie de git diff-tree --patch, on tire avantage du fait que la rustine est préfixée par le nom d’objet du commit, et deux chaînes de 40 octets, de caractères hexadécimaux sont générées. La première chaîne est l’ID de rustine, tandis que la seconde est l’ID de commit. Cela peut être utilisé pour établir une correspondance entre ID de rustine et ID de commit pour un ensemble ou une plage de commits.
OPTIONS
-
--verbatim -
Calculer l’ID de rustine de l’entrée standard telle qu’elle est fournie, sans retirer les espaces blancs. Implique
--stableet interdit--unstable.C’est le comportement par défaut si
patchid.verbatimesttrue. -
--stable -
Utiliser une somme "stable" de hachages comme ID de rustine. Avec cette option :
-
Réordonner les fichiers diffs qui composent une rustine n’affecte pas l’ID. En particulier, deux rustines produites en comparant les mêmes deux arbres avec deux réglages différents pour
-O<order-de-fichier> résultent en la même signature d’identification de le rustine, permettant ainsi au résultat calculé d’être utilisé comme clé pour indexer quelques méta-information sur les modifications entre les deux arbres. -
Le résultat est différent de la valeur produite par Git 1.9 et antérieur, ou produite quand une fonction d’empreint "instable" (voir
--unstableci-dessous) est utilisée - même sur la sortie d’un diff pris sans utiliser-O<ordre-de-fichier>, rendant ainsi inutilisables les bases de données existantes qui stockent de tels IDs de rustine historiques ou instables. -
Tous les espaces blancs dans la rustine sont ignorés et n’affectent pas l’ID.
C’est le comportement par défaut si
patchid.stableest fixé àtrue. -
-
--unstable -
Utiliser un hash \"instable\" comme ID de correctif. Avec cette option, le résultat produit est compatible avec la valeur d’ID de correctif produite par Git 1.9 et plus ancien, et les espaces blancs sont ignorés. Les utilisateurs disposant de bases de données existantes d’ID de correctifs de Git 1.9 et plus ancien peuvent souhaiter utiliser cette option pour la compatibilité ascendante.
C’est l’option par défaut.
EXEMPLES
git-cherry[1] montre quels commits d’une branche ont des commits avec un ID de rustine équivalent dans une branche amont donnée. Mais cela ne vous dit que si un tel commit existe ou non. Et si vous vouliez connaître les commits pertinents de l’amont ? Nous pouvons utiliser cette commande pour créer une correspondance entre votre branche et la branche amont :
#!/bin/sh
upstream="$1"
branch="$2"
test -z "$branch" && branch=HEAD
limit="$3"
if test -n "$limit"
then
tail_opts="$limit".."$upstream"
else
since=$(git log --format=%aI "$upstream".."$branch" | tail -1)
tail_opts=--since="$since"' '"$upstream"
fi
for_branch=$(mktemp)
for_upstream=$(mktemp)
git rev-list --no-merges "$upstream".."$branch" |
git diff-tree --patch --stdin |
git patch-id --stable | sort >"$for_branch"
git rev-list --no-merges $tail_opts |
git diff-tree --patch --stdin |
git patch-id --stable | sort >"$for_upstream"
join -a1 "$for_branch" "$for_upstream" | cut -d' ' -f2,3
rm "$for_branch"
rm "$for_upstream"
Maintenant la première colonne montre le commit de votre branche et la seconde colonne montre le commit avec un ID de correctif équivalent, s’il existe.
GIT
Fait partie de la suite git[1]
TRADUCTION
Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .