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.43.1 → 2.47.0 no changes
- 2.43.0 11/20/23
- 2.42.2 → 2.42.3 no changes
- 2.42.1 11/02/23
- 2.39.1 → 2.42.0 no changes
- 2.39.0 12/12/22
- 2.37.1 → 2.38.5 no changes
- 2.37.0 06/27/22
- 2.35.1 → 2.36.6 no changes
- 2.35.0 01/24/22
- 2.34.1 → 2.34.8 no changes
- 2.34.0 11/15/21
- 2.33.1 → 2.33.8 no changes
- 2.33.0 08/16/21
- 2.32.1 → 2.32.7 no changes
- 2.32.0 06/06/21
- 2.31.1 → 2.31.8 no changes
- 2.31.0 03/15/21
- 2.23.1 → 2.30.9 no changes
- 2.23.0 08/16/19
- 2.20.1 → 2.22.5 no changes
- 2.20.0 12/09/18
- 2.19.1 → 2.19.6 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.15.4 → 2.17.6 no changes
- 2.14.6 12/06/19
- 2.11.4 → 2.13.7 no changes
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.5.6 → 2.7.6 no changes
- 2.4.12 05/05/17
- 2.1.4 → 2.3.10 no changes
- 2.0.5 12/17/14
SYNOPSIS
git repack [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [-m] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<nom-de-pack>] [--write-midx]
DESCRIPTION
Cette commande est utilisĂ©e pour combiner tous les objets qui ne rĂ©sident pas actuellement dans un "pack", dans un pack. Elle peut Ă©galement ĂȘtre utilisĂ©e pour rĂ©organiser les packs existants en un seul pack plus efficace.
Un paquet est une collection d’objets, compressĂ©s individuellement, avec une compression de delta appliquĂ©e, stockĂ©s dans un seul fichier avec un fichier d’index associĂ©.
Les paquets sont utilisés pour réduire la charge sur les systÚmes de miroir, les moteurs de sauvegarde, le stockage de disque, etc.
OPTIONS
- -a
-
Au lieu empaqueter progressivement les objets non empaquetĂ©s, empaqueter tout ce qui est rĂ©fĂ©rencĂ© dans un seul paquet. ParticuliĂšrement utile lors de l’empaquetage d’un dĂ©pĂŽt utilisĂ© pour un dĂ©veloppement privĂ©. Ă utilliser avec
-d
. Cela nettoie les objets quegit prune
a laissé, mais quegit fsck --full --dangling
montre comme en suspens.Notez que les utilisateurs qui rĂ©cupĂšrent via des protocoles idiots devront rĂ©cupĂ©rer le nouveau pack complet pour obtenir tout objet contenu, peu importe le nombre d’autres objets dans ce pack qu’ils ont dĂ©jĂ localement.
Les fichiers de paquet prometteurs sont rĂ©emballĂ©s sĂ©parĂ©mentâŻ: s’il y a des fichiers paquets qui ont un fichier associĂ© ".promisor", ces paquets seront rĂ©emballĂ©s dans un autre paquet sĂ©parĂ©, et un fichier ".promisor" vide correspondant au nouveau paquet sĂ©parĂ© sera Ă©crit.
- -A
-
MĂȘme que
-a
, sauf si-d
est utilisĂ©. Ensuite, tous les objets inaccessibles dans un paquet prĂ©cĂ©dent deviennent des objets libres, non empaquetĂ©s, au lieu d’ĂȘtre laissĂ©s dans l’ancien paquet. Les objets inaccessibles ne sont jamais intentionnellement ajoutĂ©s Ă un paquet, mĂȘme en rempaquetant. Cette option empĂȘche les objets inaccessibles d’ĂȘtre immĂ©diatement supprimĂ©s parce qu’ils sont laissĂ©s dans l’ancien paquet et ensuite enlevĂ©s. Au lieu de cela, les objets non joignables libres seront Ă©laguĂ©s selon les rĂšgles d’expiration normales avec la prochaine invocation de git gc. Voir git-gc[1]. - -d
-
AprĂšs l’empaquetage, si les paquets nouvellement crĂ©Ă©s rendent quelques paquets existants redondants, retirer les paquets redondants. Lancer Ă©galement git prune-packed pour supprimer les fichiers d’objets libres redondants.
- --cruft
-
Identique Ă
-a
, sauf si-d
est utilisĂ©. Ensuite, tous les objets inaccessibles sont empaquetĂ©s dans un paquet dĂ©chet sĂ©parĂ©. Les objets inaccessibles peuvent ĂȘtre Ă©laguĂ©s selon les rĂšgles d’expiration normales avec l’invocation suivante degit gc
(voir git-gc[1]). Incompatible avec-k
. - --cruft-expiration=<approxi-date>
-
Expirer les objets inaccessibles plus ùgés que
<date-approx>
immĂ©diatement au lieu d’attendre la prochaine invocationgit gc
. Seulement utile avec--cruft -d
. - --max-cruft-size=<n>
-
Rempaqueter les objets en paquets d’au plus <n> octets avant de crĂ©er de nouveaux paquets. Tant qu’il y a assez de paquets dĂ©chets plus petits que <n>, le rempaquetage crĂ©era un nouveau paquet dĂ©chet contenant les objets de tous les paquets dĂ©chets combinĂ©s, en plus de tous les nouveaux objets inaccessibles. Les paquets dĂ©chets plus grands que <n> ne seront pas modifiĂ©s. Lorsqu’un nouveau paquet dĂ©chet est plus grand que les <n>_octets, il est divisĂ© en plusieurs paquets, qui sont tous garantis d’avoir une taille d’au plus _<n> octets. Seulement utile avec
--cruft -d
. - --expire-to=<rép.>
-
Ăcrire un paquet dĂ©chet contenant des objets Ă©laguĂ©s (le cas Ă©chĂ©ant) dans le rĂ©pertoire <rĂ©p>. Cette option est utile pour conserver une copie de tous les objets Ă©laguĂ©s dans un rĂ©pertoire sĂ©parĂ© comme sauvegarde. Seulement utile avec
--cruft -d
. - -l
-
Passer l’option
--local
Ă git pack-objects. Voir git-pack-objects[1]. - -f
-
Passer l’option
--no-reuse-delta
Ăgit-pack-objects
. Voir git-pack-objects[1]. - -F
-
Passer l’option
--no-reuse-object
Ăgit-pack-objects
. Voir git-pack-objects[1]. - -q
- --quiet
-
Nâafficher aucune progression sur le flux dâerreur standard et passer l’option
-q
Ă git pack-objects. Voir git-pack-objects[1]. - -n
-
Ne pas mettre à jour les informations du serveur avec git update-server-info. Cette option ignore la mise à jour des fichiers de catalogue locaux nécessaires pour publier ce dépÎt (ou une copie directe de celui-ci) sur HTTP ou FTP. Voir git-update-server-info[1].
- --window=<n>
- --depth=<n>
-
Ces deux options affectent la façon dont les objets contenus dans le paquet sont stockĂ©s Ă l’aide de la compression delta. Les objets sont d’abord triĂ©s en interne par type, taille et optionnellement par noms et comparĂ©s aux autres objets dans
--window
pour voir si l’utilisation de compression de delta permet d’Ă©conomiser de l’espace.--depth
limite la profondeur maximale du deltaâŻ; la rendre trop profonde affecte la performance du cĂŽtĂ© du dĂ©paqueteur, parce que les donnĂ©es de delta doivent ĂȘtre appliquĂ©es autant de fois pour arriver Ă l’objet nĂ©cessaire.La valeur par dĂ©faut pour --window est 10 et --depth est 50. La profondeur maximale est de 4095.
- --threads=<n>
-
Cette option est passĂ©e Ă
git pack-objects
. - --window-memory=<n>
-
Cette option fournit une limite supplémentaire par dessus
--window
âŻ; la taille de la fenĂȘtre s’Ă©tendra dynamiquement vers le bas afin de ne pas prendre plus que <n> octets en mĂ©moire. Ceci est utile dans les dĂ©pĂŽts avec un mĂ©lange de grands et petits objets afin de ne pas manquer de mĂ©moire avec une grande fenĂȘtre, mais encore ĂȘtre en mesure de profiter de la grande fenĂȘtre pour les petits objets. La taille peut ĂȘtre suffixĂ©e par "k", "m", ou "g".--window-memory=0
rend l’utilisation de la mĂ©moire illimitĂ©e. La valeur par dĂ©faut est tirĂ©e de la variable de configurationpack.windowMemory
. Notez que l’utilisation rĂ©elle de la mĂ©moire sera la limite multipliĂ©e par le nombre de threads utilisĂ©s par git-pack-objects[1]. - --max-pack-size=<n>
-
La taille maximum de chaque fichier paquet. La taille peut ĂȘtre suffixĂ©e avec "k", "m", ou "g". La taille minimale autorisĂ©e est limitĂ©e Ă 1 MiB. Si spĂ©cifiĂ©e, plusieurs fichiers paquets seront crĂ©Ă©s, ce qui empĂȘche la crĂ©ation d’un index de bitmap. La valeur par dĂ©faut est illimitĂ©e, sauf si la variable config
pack.packSizeLimit
est dĂ©finie. Notez que cette option peut entraĂźner un dĂ©pĂŽt plus gros et plus lentâŻ; voir la discussion danspack.packSizeLimit
. - --filter=<spéc. du filtre>
-
Retirer les objets correspondant Ă la spĂ©cification du filtre du fichier paquet rĂ©sultant et les mettre dans un fichier paquet sĂ©parĂ©. Notez que les objets utilisĂ©s dans le rĂ©pertoire de travail ne sont pas filtrĂ©s. Donc, pour que la sĂ©paration fonctionne pleinement, il est prĂ©fĂ©rable de l’exĂ©cuter dans un dĂ©pĂŽt nu et d’utiliser les options
-a
et-d
avec cette option.--no-write-bitmap-index
(ou l’option de configrepack.writebitmaps
Ăfalse
) devrait aussi ĂȘtre utilisĂ©s, sinon l’Ă©criture de l’index de bitmap Ă©chouera, vu que cela supposerait l’Ă©criture d’un seul fichier paquet contenant tous les objets. Voir git-rev-list[1] pour les forme valides de <spĂ©c-de-filtre>. - --filter-to=<rĂ©p.>
-
Ăcrire le paquet contenant des objets filtrĂ©s vers le rĂ©pertoire <rĂ©pertoire>. Seulement utile avec
--filter
. Ceci peut ĂȘtre utilisĂ© pour mettre le paquet dans un rĂ©pertoire d’objets sĂ©parĂ© qui est accessible par le mĂ©canisme alternatif de Git. ATTENTIONâŻ: Si le fichier paquet contenant les objets filtrĂ©s n’est pas accessible, le dĂ©pĂŽt peut se corrompre car il pourrait ne pas ĂȘtre possible d’accĂ©der aux objets dans ce fichier. Voir les sectionsobjects
etobjects/info/alternates
de gitrepository-layout[5]. - -b
- --write-bitmap-index
-
Ăcrire un index de bitmap accessible dans le cadre du rempaquetage. Cela n’a de sens que lorsqu’utilisĂ© avec
-a
,-A
ou-m
, car les bitmaps doivent pouvoir se référer à tous les objets accessibles. Cette option annule le réglage derepack.writeBitmaps
. Cette option n’a aucun effet si plusieurs paquets sont crĂ©Ă©s, Ă moins d’Ă©crire un MIDX (auquel cas un bitmap multi-pack est crĂ©Ă©). - --pack-kept-objects
-
Inclure des objets dans les fichiers
.keep
lors du rempaquetage. Notez que nous ne supprimons toujours pas les paquets.keep
aprĂšs la fin depack-objects
. Cela signifie que nous pouvons dupliquer des objets, mais cela rend l’option sĂ»re lorsqu’il y a des poussĂ©es ou des rĂ©cupĂ©rations simultanĂ©es. Cette option n’est gĂ©nĂ©ralement utile que si vous Ă©crivez des bitmaps avec-b
ourepack.writeBitmaps
, car elle garantit que le paquet géré par le bitmap a les objets nécessaires. - --keep-pack=<nom-de-paquet>
-
Exclure le paquet donnĂ© du rĂ©empaquetage. C’est Ă©quivalent Ă avoir un fichier
.keep
sur le paquet.<nom-de-paquet>
est le nom du fichier paquet sans répertoire (par exemplepack-123.pack
). L’option peut ĂȘtre spĂ©cifiĂ©e plusieurs fois pour garder plusieurs paquets. - --unpack-unreachable=<quand>
-
Lors de la libĂ©ration des objets inaccessibles, ne pas s’ennuyer Ă relĂącher des objets plus anciens que <quand>. Cela peut ĂȘtre utilisĂ© pour optimiser l’Ă©criture de tous les objets qui seraient immĂ©diatement Ă©laguĂ©s par un `git prune`subsĂ©quent.
- -k
- --keep-unreachable
-
Lorsqu’utilisĂ© avec
-ad
, tous les objets inaccessibles des paquets existants seront annexĂ©s Ă la fin du paquet au lieu d’ĂȘtre enlevĂ©s. De plus, tous les objets inaccessibles seront empaquetĂ©s (et leurs homologues libres enlevĂ©s). - -i
- --delta-islands
-
Passer l’option
--delta-islands
Ăgit-pack-objects
, voir git-pack-objects[1]. - -g<facteur>
- --geometric=<facteur>
-
Arranger la structure de paquets rĂ©sultant de sorte que chaque paquet successif contient au moins <facteur> fois le nombre d’objets que le plus grand paquet existant .
git repack
assure cela en dĂ©terminant une "limite" de paquets qui doivent ĂȘtre rempaquetĂ©s en un paquet afin d’assurer une progression gĂ©omĂ©trique. Il choisit le plus petit ensemble de fichiers paquets tels que le plus grand nombre de paquets plus grands (en comptant des objets contenus dans ce paquet) peuvent ĂȘtre laissĂ©s intacts.Contrairement Ă d’autres modes de rempaquetage, l’ensemble des objets Ă empaqueter est dĂ©terminĂ© de façon unique par l’ensemble de paquets "enroulĂ©s"âŻ; en d’autres termes, les paquets identifiĂ©s Ă ĂȘtre combinĂ©s pour restaurer une progression gĂ©omĂ©trique.
Les objets libres sont implicitement inclus dans cet "enroulage", indĂ©pendamment de leur accessibilitĂ©. Ceci est sujet Ă changement dans l’avenir.
Lors de l’Ă©criture d’un bitmap multi-paquet,
git repack
choisit le plus grand paquet rĂ©sultant comme le paquet prĂ©fĂ©rĂ© pour la sĂ©lection d’objets par le MIDX (voir git-multi-pack-index[1]). - -m
- --write-midx
-
Ăcrire un index multi-paquet (voir git-multi-pack-index[1]) contenant les paquets non redondants.
CONFIGURATION
Diverses variables de configuration affectent l’empaquetage, voir git-config[1] (recherchez "paquet" et "delta").
Par dĂ©faut, la commande passe l’option --delta-base-offset
Ă git pack-objectsâŻ; cela entraĂźne gĂ©nĂ©ralement des paquets lĂ©gĂšrement plus petits, mais les paquets gĂ©nĂ©rĂ©s sont incompatibles avec les versions de Git plus anciennes que la version 1.4.4. Si vous avez besoin de partager votre dĂ©pĂŽt avec ces anciennes versions Git, soit directement ou via le protocole http idiot, vous devez dĂ©finir la variable de configuration repack.UseDeltaBaseOffset
Ă false
et rempaqueter. L’accĂšs depuis des anciennes versions de Git avec le protocole natif n’est pas affectĂ© par cette option puisque la conversion est effectuĂ©e Ă la volĂ©e en cas de besoin.
La compression de delta n’est pas utilisĂ©e sur des objets plus grands que la variable de configuration core.bigFileThreshold
et sur des fichiers dont l’attribut delta ` est rĂ©glĂ© Ă `false
.
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 .