git commit -m 与 git commit -am 的区别
为情所困
为情所困 2017-05-02 09:36:32
0
3
1037

麻烦解答下 git commit -m 与 git commit -am 的区别

为情所困
为情所困

répondre à tous(3)
迷茫

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)

给我你的怀抱
git commit -am "str"
#等同于
git commit -a -m "str"

Exécutons-le

man git commit 

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.

git commit -am "some str"
git push
伊谢尔伦

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal