am utilisation détaillée git

copier:  http://blog.chinaunix.net/uid-27714502-id-3435780.html

 

L' article introduit principalement l'utilisation git-am et le format-patch. , Il y aura beaucoup parce que git les utiliser lorsque d' autres (fournisseurs ou d' autres développeurs) m'a envoyé une série de correctifs , le patch est habituellement comme ce nom:

0001 - JFFS2-communauté-fix-avec-sans-utilisation OOB.patch 0002 - Communauté-patch-pour-Fix-montage-erreur-in.patch 0003 - partiel à faible latence d'interruption mode pour -ARM113.patch 0004 - pour-la-global-I-cache-ARM11.patch infirmation-bras-0005 à -1 Add-plus-cache-mémoire-types-macr.patch-Port-0006 à -2 IMX -3.3.0-release-à-2.6.28.patch-Add-0007 à -3 MX25-support.patch 0008 - Move-asm-arc-en-têtes à linux-inc-dir.patch 0009 à -1 -regulator-allow-recherche par regulator.patch

Qui contient les informations contenues dans le journal, l'auteur, la date de soumission. Vous voulez faire est de mettre ces correctifs introduits dans votre base de code, de préférence également le journal peut également être introduit, pour faciliter l'utilisation de l'entretien futur. La manière traditionnelle est de patch jeu

-p1 <0001 - JFFS2-communauté-fix-avec-sans-emploi OOB.patch

Donc, pour jouer patch, mais ce sera l'information utile est perdue. Étant donné que ces correctifs apparemment avec git format patch pour générer, donc utiliser les outils git devraient pouvoir bien faire. git-am est pour cette chose.

Avant d' utiliser git-am, vous devez d' abord git h -abort temps de renoncer à l'information du matin précédent, afin de pouvoir procéder à une nouvelle am.
Ou vous rencontrerez cette erreur.
                .git / rebasage-application existe toujours , mais Mbox donné.

-Am git peut fusionner un fichier à un moment ou un patch de répertoire dans tous les patch, ou votre répertoire de messagerie.

Les deux exemples suivants:

  1. Vous avez maintenant une base de code: petit-src, vos fichiers de patch dans ~ / patch / 0001-trival-patch.patch

     

petit-src cd git-am ~ / patch / 0001-trival-patch.patch

Si vous patch avec succès, vous pouvez aller à une tasse de thé. Si elle échoue, git demandera une erreur, par exemple:

erreur: patch a échoué: Android / mediascanner.cpp: 452 Erreur: android / mediascanner.cpp: patch ne concerne pas

Vous avez donc besoin de regarder le patch, puis changer pour changer les erreurs de fichiers, de sorte que le patch peut colmater.

  1. Vous avez un tas de patch, le patch un tas de nom est que mentionné ci-dessus, vous les mettre sous ~ / patch-set / répertoire (chemin librement)

     

cd OpenCore git am ~ / patch-set / *. Patch

(Ici git sera dans l'ordre du nom du fichier une fois suis ce patch) Si tout va bien, vous tous Patch OK, vous avez une chance. Mais ne vont pas bien, quand, selon toute vraisemblance, si milieu am git a rencontré un patch, s'arrêtera h place pour lutter contre ce patch, et vous dire quel patch ne pas faire jouer.

Par exemple, j'ai maintenant un fichier de document, il y a deux Patch. Le
contenu du fichier est

le texte plus texte

Patch deux sont:

0001-add-line.patch:

De 8869ccbced494e05738090afa5a54f2a261df0f Mon Sep 1700: 00: 00 2001 De: abc  . Abc @ abc-desktop (none)  Date: Thu, 22 avril 2010 13:04:34 Objet 0800: [PATCH 1/2] ligne add --- fichier | 2 ++ 1 fichiers modifiés, 2 insertions (+), 0 suppressions (-) diff --git a / b fichier / index de fichier 067780e..685f0fa 100644 --- un fichier / +++ b / fichier @@ -3 , 3 +3,5 @@ fichier: texte plus de texte + + ligne add - 1.6.3.3

0002-changement line.patch:

De f756e1b3a87c216b7e0afea9d15badd033171578 Mon 17 septembre 2001 00:00:00 De: abc  . Abc @ abc-desktop (none)  Date: Thu, 22 avril 2010 13:05:19 Objet 0800: [PATCH 2/2] ligne de changement --- fichier | 2 + - 1 fichiers modifiés, 1 insertions (+), 1 suppressions (-) diff --git a / b fichier / index de fichiers 685f0fa..7af7852 100644 --- un / fichier de fichier: text -certains + Changer le texte en ligne plus texte - 1.6.3.3

Run
am git * .patch

Pour fusionner le patch, l'erreur, Patch a échoué à 0001 ligne add nous regardons 0001 ce patch, le patch d'origine est nécessaire est un texte, et le fichier dans le texte, nous utilisons donc cet éditeur pour changer la ligne du texte,

vi fichier git appliquer 0001-add-line.patch fichier git add git am --resolved

Après l'achèvement de résoudre les conflits, comme l'utilisation git git add pour faire savoir que vous avez fait pour résoudre le conflit.

    • Si vous trouvez que ce conflit ne peut être résolu, de se retirer suis tout. Vous pouvez exécuter git am -abort,
    • Si vous voulez ignorer ce patch, vous pouvez exécuter git am -skip sauter ce patch.

Je suppose que tu aimes

Origine www.cnblogs.com/Oude/p/12521943.html
conseillé
Classement