Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
dev:git:gerer-zone-index [2016/12/25 12:28] – créée yoann | dev:git:gerer-zone-index [2024/11/19 14:56] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>>dev git index staging}} | + | {{tag> |
====== Gestion de la zone d' | ====== Gestion de la zone d' | ||
- | Un commit est un instantané de la zone d' | + | Un commit est un instantané de la zone d' |
Worflow: | Worflow: | ||
- Modifier les fichiers dans le répertoire de travail | - Modifier les fichiers dans le répertoire de travail | ||
- | - Placer dans l' | + | - Placer dans l' |
- | - commit | + | - Faire le commit |
- | ===== Etat de la zone d' | + | Pour illustrer les commandes, un dépôt avec le contenu suivant est créé: |
+ | < | ||
+ | / | ||
+ | ├── readme.txt | ||
+ | └── src | ||
+ | ├── A.c | ||
+ | ├── B.c | ||
+ | └── C.c | ||
+ | </ | ||
- | la commande bit status permet de voir le contenu | + | ===== État de la zone d' |
- | < | + | La commande **git status** permet de voir le contenu de la zone d' |
+ | |||
+ | < | ||
$ git status -s | $ git status -s | ||
+ | ?? readme.txt | ||
+ | ?? src/ | ||
</ | </ | ||
+ | |||
+ | Les points d' | ||
+ | |||
+ | ===== Ajouter à l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Ajouter un dossier ==== | ||
+ | |||
+ | Ajouter un dossier dans l' | ||
+ | |||
+ | <code bash> | ||
+ | # Ajoute le dossier src à l' | ||
+ | git add src/ | ||
+ | |||
+ | # Le listing du contenu de l' | ||
+ | # retourne le dossier et tout son contenu | ||
+ | git st | ||
+ | A src/A.c | ||
+ | A src/B.c | ||
+ | A src/C.c | ||
+ | ?? readme.tx | ||
+ | </ | ||
+ | |||
+ | Ici, le ' | ||
+ | |||
+ | ==== Mettre à jour les fichiers suivis ==== | ||
+ | |||
+ | Pour n' | ||
+ | <code bash> | ||
+ | $ git add -u | ||
+ | </ | ||
+ | |||
+ | Ajouter à l' | ||
+ | <code bash> | ||
+ | $ git add . | ||
+ | $ git st | ||
+ | A readme.txt | ||
+ | A src/A.c | ||
+ | A src/B.c | ||
+ | A src/C.c | ||
+ | </ | ||
+ | |||
+ | ==== N' | ||
+ | |||
+ | Lorsque des modifications sont apportées à plusieurs endroits dans un même fichier, on peut vouloir pousser dans l' | ||
+ | |||
+ | C'est ce que permet de faire l' | ||
+ | |||
+ | <code bash> | ||
+ | # Plusieurs modifications ont été apportées en même temps | ||
+ | # au fichiers " | ||
+ | # sous partie pour le prochain commit | ||
+ | |||
+ | git add --patch fairymaps/ | ||
+ | </ | ||
+ | |||
+ | La commande bascule en mode interactif, pour chaque section modifiée git demande à l' | ||
+ | |||
+ | < | ||
+ | (1/1) Indexer cette section [y, | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | y - indexer cette section | ||
+ | n - ne pas indexer cette section | ||
+ | q - quitter ; ne pas indexer cette section ni les autres restantes | ||
+ | a - indexer cette section et toutes les suivantes de ce fichier | ||
+ | d - ne pas indexer cette section ni les suivantes de ce fichier | ||
+ | s - découper la section en sections plus petites | ||
+ | e - éditer manuellement la section actuelle | ||
+ | ? - afficher l'aide | ||
+ | </ | ||
+ | |||
+ | Via le mode interactif, l' | ||
+ | |||
+ | |||
+ | ===== Ignorer des fichiers ===== | ||
+ | |||
+ | Les fichiers .gitignore permettent de définir des patterns d' | ||
+ | |||
+ | <code bash> | ||
+ | $ git add -f ./build/A.o | ||
+ | </ | ||
+ | |||
+ | |||
+ | Il peut y avoir de multiples fichiers .gitignore dans répertoire du projet. Pour tester si un fichier est bien exclus: | ||
+ | |||
+ | <code bash> | ||
+ | $ git check-ignore -v build/B.o | ||
+ | .gitignore: | ||
+ | </ | ||
+ | |||
+ | Dans cet exemple la commande retourne que le fichier " | ||
===== Retirer des fichier de l' | ===== Retirer des fichier de l' | ||
Ligne 39: | Ligne 145: | ||
Attention a bien utiliser l' | Attention a bien utiliser l' | ||
</ | </ | ||
+ | |||
+ | ===== Retirer tous les fichiers de l' | ||
+ | |||
+ | Pour retirer tous les fichiers présents dans la zone d' | ||
+ | <code bash> | ||
+ | # équivalent pleinement qualifié du comportement par défaut | ||
+ | $ git reset --mixed | ||
+ | |||
+ | # comportement par défaut retirant tous les fichiers/ | ||
+ | $ git reset | ||
+ | </ | ||
===== Restaurer un fichier ===== | ===== Restaurer un fichier ===== | ||
- | Pour annuler les modifications faites sur un fichier du répertoire de travail et le restaurer tel qu'il était | + | Pour annuler les modifications faites sur un fichier du répertoire de travail et le restaurer tel qu'il était |
< | < |