Initialisons un nouveau projet.
$ projet mkdir$ cd projet
$ git init
Dépôt Git vide initialisé dans /Users/zakh_eecs/_work/LearnGIT/git_add/project/.git/
$ echo "Nouveau projet" > Lisez-moi.SMS
$ git add Lisez-moi.SMS
$ git commit -m "Commission initiale"
[master (root-commit) 47b9af1] Initial Commit
1 fichier modifié, 1 insertion (+)
mode de création 100644 Lisez-moi.SMS
Dans ce projet, nous avons ajouté un ReadMe.fichier txt. Nous avons utilisé la commande "git add" pour ajouter le ReadMe.SMS. La commande add n'est pas seulement pour ajouter des fichiers. Il ajoute également toute modification de fichier. Pour ce tutoriel, nous ajouterons et supprimerons uniquement des fichiers pour rester simple. Mais pensez à la commande add comme à l'ajout de modifications à la zone de transit. Ensuite, vous devez utiliser la commande commit pour officialiser les modifications.
Lorsque vous traitez de nombreux fichiers et dossiers, il est difficile d'ajouter individuellement chaque modification. Vous pouvez donc utiliser les commandes suivantes :
$ git ajouter .$ git ajouter -A
Regardons comment se comportent les deux commandes :
$ toucher un.txtb.txt c.SMS$ git ajouter .
$ git statut
Sur le maître de branche
Modifications à valider :
(utilisez "git reset HEAD
nouveau fichier : a.SMS
nouveau fichier : b.SMS
nouveau fichier : c.SMS
$ git commit -m "Ajouter un.txt, b.txt, c.SMS"
[maître 9ca90fc] Ajouter un.txt, b.txt, c.SMS
3 fichiers modifiés, 0 insertions(+), 0 suppressions(-)
créer le mode 100644 a.SMS
créer le mode 100644b.SMS
créer le mode 100644 c.txt $ touche x.txt y.txtz.SMS
$ git ajouter -A
$ git statut
Sur le maître de branche
Modifications à valider :
(utilisez "git reset HEAD
nouveau fichier : x.SMS
nouveau fichier : y.SMS
nouveau fichier : z.SMS
$ git commit -m "Ajouter x.txt, oui.txt, z.SMS"
[maître 8af8c12] Ajouter x.txt, oui.txt, z.SMS
3 fichiers modifiés, 0 insertions(+), 0 suppressions(-)
créer le mode 100644 x.SMS
créer le mode 100644 y.SMS
créer le mode 100644 z.SMS
Les deux options semblent fonctionner de la même manière.
Pour approfondir nos recherches, créons une situation dans laquelle nous ajoutons quelque chose au niveau racine du répertoire de travail, puis ajoutons d'autres fichiers dans un dossier :
$ toucher 1.SMS$ mkdir nouveau
$ cd nouveau
$ touche m.txt n.txt o.SMS
$ git ajouter .
$ git statut
Sur le maître de branche
Modifications à valider :
(utilisez "git reset HEAD
nouveau fichier : m.SMS
nouveau fichier : n.SMS
nouveau fichier : o.SMS
Fichiers non suivis :
(utilisez "git add
… /1.SMS
Remarquez que Git n'a pas ajouté le 1.txt dans le dossier de niveau supérieur.
Si nous avons créé un dossier appelé imbriqué avec d.txt et utilisez le git add. commande à nouveau, nous voyons que o.txt a été ajouté mais 1.txt n'est pas encore ajouté.
$ mkdir imbriqué$ touch imbriqué/d.SMS
$ git ajouter .
$ git statut
Sur le maître de branche
Modifications à valider :
(utilisez "git reset HEAD
nouveau fichier : m.SMS
nouveau fichier : n.SMS
nouveau fichier : imbriqué/d.SMS
nouveau fichier : o.SMS
Fichiers non suivis :
(utilisez "git add
… /1.SMS
Utilisons maintenant la commande git add -A :
$ git ajouter -A$ git statut
Sur le maître de branche
Modifications à valider :
(utilisez "git reset HEAD
nouveau fichier : … /1.SMS
nouveau fichier : m.SMS
nouveau fichier : n.SMS
nouveau fichier : imbriqué/d.SMS
nouveau fichier : o.SMS
Maintenant, 1.txt dans le dossier a été ajouté à la zone de transit.
Voici à quoi ressemblent les dossiers
|--1.SMS
|--Lisez-moi.SMS
|--un.SMS
|--b.SMS
|--c.SMS
|--x.SMS
|--y.SMS
|--z.SMS
'-- Nouveau
|--m.SMS
|--n.SMS
|--o.SMS
'-- imbriqué
|--d.SMS
Ainsi, lorsque vous utilisez "git add .", il ajoutera toutes les modifications de ce niveau. Mais lorsque vous utilisez l'option "git add -A", il recherchera les modifications dans tout le module et les ajoutera.
Conclusion
La commande Git add fournit des moyens puissants d'ajouter des fichiers modifiés. Vous pouvez utiliser la hiérarchie des répertoires naturels de vos codes pour contrôler ce qui est ajouté.
Une étude plus approfondie:
- https://git-scm.com/docs/git-add
- Git : Apprendre le contrôle de version avec Git : Un guide ultime étape par étape pour les débutants
- Contrôle de version avec Git : outils et techniques puissants pour le développement de logiciels collaboratifs
- Pro Git, 2e édition