Git

Git Ajouter tous les fichiers modifiés

Git Ajouter tous les fichiers modifiés
Lorsque vous traitez avec Git add, vous avez plusieurs options pour ajouter tous les fichiers modifiés. Regardons quelques scénarios pour comprendre les possibilités.

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 … " pour désinstaller)
 
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 … " pour désinstaller)
 
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 … " pour désinstaller)
 
nouveau fichier :   m.SMS
nouveau fichier :   n.SMS
nouveau fichier :   o.SMS
 
Fichiers non suivis :
(utilisez "git add …" à inclure dans ce qui sera engagé)
 
… /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 … " pour désinstaller)
 
nouveau fichier :   m.SMS
nouveau fichier :   n.SMS
nouveau fichier :   imbriqué/d.SMS
nouveau fichier :   o.SMS
 
Fichiers non suivis :
(utilisez "git add …" à inclure dans ce qui sera engagé)
 
… /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 … " pour désinstaller)
 
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

projet
|--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
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...