Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:git:gerer-zone-index [2016/12/25 12:29] – yoann | dev:git:gerer-zone-index [2024/11/19 14:56] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{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 |
| < | < | ||