Quelle est la différence entre git am et git appliquer?
Les deux git am
et git apply
peut être utilisé pour appliquer des correctifs. Je ne vois pas la différence. Je vois une différence: git am
automatiquement s'engage alors que git apply
ne touche que les fichiers mais ne crée pas de s'engager. Est-ce la seule différence?
am
pourrait être considéré comme une abréviation deApply Mail
...
Vous devez vous connecter pour publier un commentaire.
À la fois l'entrée et la sortie sont différents:
git appliquer
prend un patch (par exemple, la sortie degit diff
) et l'applique au répertoire de travail (ou de l'indice, si--index
ou--cached
est utilisé).git am
prend une boîte aux lettres de commits formatés comme des messages par e-mail (par exemple, la sortie degit format-patch
) et les applique à la branche courante.git am
utilisegit appliquer
en coulisses, mais n'a plus de travail avant (lecture d'uneMaildir
oumbox
, et l'analyse des messages e-mail) et après (à créer s'engage).git apply
semble aussi acceptergit format-patch
de sortie.git apply
serait de travailler pour la sortie degit format-patch
, mais les changements ne sont unstaged et aurait besoin d'être commis (créant ainsi un autre point de validation, dans l'index, ils sont appliqués). Avecgit am
vous serait comptable de la validation de l'information (avec l'auteur, etc.) dans l'index, il est appliqué.git apply
alors pour patcher votre repo (bad),git am
peut prendre légitime modifications de la fonctionnalité et de l'inclure dans votre repo (méthode préférée).git apply
est pour l'application de tout droit de diff (par exemple, degit diff
) alors quegit am
est d'application des correctifs et des séquences de correctifs à partir d'e-mails, soit mbox ou Maildir format et est le "contraire" degit format-patch
.git am
tente d'en extraire les messages de soumission et détails de l'auteur à partir de messages électroniques c'est pourquoi il peut faire des commits.Avec
git am
vous appliquez le patch donc, si vous utilisezgit status
vous ne verrez pas les changements locaux.git apply
vous permet d'effectuer les modifications dans les fichiers source que si vous avez écrit le code par vous-même, par conséquentgit status
etgit diff
affichera les modifications apportées dans le patch que vous avez appliqué, alors vous pouvez corriger/ajouter plus de changements et de les présenter comme un ensemble nouveau patch.