recherche

Maison  >  Questions et réponses  >  le corps du texte

La différence entre git commit -m et git commit -am

S'il vous plaît, dites-moi la différence entre git commit -m et git commit -am

为情所困为情所困2792 Il y a quelques jours1084

répondre à tous(3)je répondrai

  • 迷茫

    迷茫2017-05-02 09:38:32

    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)

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:38:32

    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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:38:32

    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

    répondre
    0
  • Annulerrépondre