Lorsque des modifications ont été ajoutées à git add <change file> via stage, un message git commit -m "<message>" peut être ajouté via stage pour toutes les modifications qui ont été saisies dans commit. Qu'y a-t-il dans stage ? Voir ci-dessous
Si votre dossier a déjà été soumis, mais que cette fois les modifications n'ont pas été apportées stage, comme suit :
Vous pouvez utiliser git commit -am "<message>" directement pour ajouter toutes les modifications mais pas stage les modifications à stage et enregistrer les informations commit. (Dans une certaine mesure, cela équivaut à la combinaison de git add et git commit -m, à condition que le fichier modifié soit déjà tracked)
pour obtenir la signification du paramètre a et vous connaîtrez la différence.
OPTIONS -a, --all Dites à la commande de transférer automatiquement les fichiers qui ont été modifiés et >supprimés, mais les nouveaux fichiers dont vous n'avez pas informé Git ne sont pas affectés.
signifie
Mettez automatiquement tous les fichiers actuellement modifiés et supprimés sur la pile, mais ceux que vous n'avez pas ajoutés ne seront pas affectés.
Agrandir
Habituellement, lorsque nous soumettons git, c'est
git add .
git commit -m "some str"
git push
Ces trois grandes étapes, mais en fait, vous n'avez besoin que de deux commandes, à moins qu'il n'y ait de nouveaux fichiers à ajouter.
Expliqué littéralement, git commit -m est utilisé pour soumettre des fichiers dans la zone de préparation ; git commit -am est utilisé pour soumettre des fichiers suivis
Pour comprendre leurs différences, vous devez d'abord comprendre le cycle de changement d'état des fichiers de git, comme le montre la figure ci-dessous
Tous les fichiers du répertoire de travail sont dans ces deux états : suivis ou non suivis. Les fichiers suivis font référence aux fichiers qui ont été inclus dans la gestion du contrôle de version. Ils sont enregistrés dans le dernier instantané après avoir travaillé pendant un certain temps, leur statut peut ne pas être mis à jour, modifié ou placé dans la zone de préparation
Ce qui suit est un exemple
Lorsqu'un fichier tel que « a.txt » est ajouté au dossier du projet, le fichier est dans un état non suivi. Les fichiers au statut non suivi ne peuvent pas être soumis
Ensuite, utilisez git add a.txt pour le suivre
À l'heure actuelle, si vous utilisez git commit -m 'add a.txt', vous pouvez le soumettre en douceur
Mais quelle est la différence entre git commit -m et git commit -am ? Cela dépend du traitement après modification du fichier a.txt
Ensuite, ajoutez le contenu 'a' à a.txt
Le fichier a.txt est suivi mais pas mis en scène. Pour le moment, si vous utilisez git commit -m, vous ne pouvez pas soumettre la dernière version de a.txt. Ce qui est soumis est uniquement l'ancienne version de a.txt avec un contenu vide au début
.
Pour soumettre une nouvelle version de a.txt, c'est-à-dire un.txt avec le contenu « a », vous devez utiliser git add a.txt pour placer la nouvelle version de a.txt dans la zone de stockage temporaire intermédiaire. , puis utilisez git commit -m pour valider
Si vous utilisez git commit -am, vous pouvez omettre l'étape git add a.txt, car git commit -am peut soumettre le fichier suivi, et a.txt a déjà été suivi depuis le début
Pour résumer, la clé de la différence entre l'utilisation de ces deux commandes est la commande git add
La commande git add est une commande multifonctionnelle selon l'état du fichier cible, l'effet de cette commande est également différent : vous pouvez l'utiliser pour commencer à suivre de nouveaux fichiers ou à placer les fichiers suivis dans le stockage temporaire. zone, et il peut également être utilisé pour fusionner Marquer les fichiers en conflit comme résolus, etc.
Nous devons utiliser la commande git add pour suivre les nouveaux fichiers, mais si vous utilisez git commit -am, vous pouvez omettre la fonction d'utilisation de la commande git add pour placer les fichiers suivis dans la zone de préparation
Lorsque des modifications ont été ajoutées à
git add <change file>
viastage
, un messagegit commit -m "<message>"
peut être ajouté viastage
pour toutes les modifications qui ont été saisies danscommit
. Qu'y a-t-il dansstage
? Voir ci-dessousSi votre dossier a déjà été soumis, mais que cette fois les modifications n'ont pas été apportées
stage
, comme suit :Vous pouvez utiliser
git commit -am "<message>"
directement pour ajouter toutes les modifications mais passtage
les modifications àstage
et enregistrer les informationscommit
. (Dans une certaine mesure, cela équivaut à la combinaison degit add
etgit commit -m
, à condition que le fichier modifié soit déjàtracked
)Exécutons-le
pour obtenir la signification du paramètre
a
et vous connaîtrez la différence.signifie
Agrandir
Habituellement, lorsque nous soumettons git, c'est
Ces trois grandes étapes, mais en fait, vous n'avez besoin que de deux commandes, à moins qu'il n'y ait de nouveaux fichiers à ajouter.
Expliqué littéralement, git commit -m est utilisé pour soumettre des fichiers dans la zone de préparation ; git commit -am est utilisé pour soumettre des fichiers suivis
Pour comprendre leurs différences, vous devez d'abord comprendre le cycle de changement d'état des fichiers de git, comme le montre la figure ci-dessous
Tous les fichiers du répertoire de travail sont dans ces deux états : suivis ou non suivis. Les fichiers suivis font référence aux fichiers qui ont été inclus dans la gestion du contrôle de version. Ils sont enregistrés dans le dernier instantané après avoir travaillé pendant un certain temps, leur statut peut ne pas être mis à jour, modifié ou placé dans la zone de préparation
Ce qui suit est un exemple
Ensuite, utilisez git add a.txt pour le suivre.