J'ai 2 référentiels locaux git pointant tous les deux vers le même référentiel distant.
Dans un référentiel git, si je le fais git format-patch 1
, comment puis-je appliquer ce correctif à l'autre référentiel?
Remarque: Vous pouvez d'abord prévisualiser ce que fera votre patch:
D'abord les statistiques:
git apply --stat a_file.patch
Ensuite, un essai à sec pour détecter les erreurs:
git apply --check a_file.patch
Enfin, vous pouvez utiliser git am
pour appliquer votre patch en tant que commit: il vous permet de vous déconnecter d'un patch appliqué.
Cela peut être utile pour référence ultérieure.
git am --signoff < a_file.patch
Voir un exemple dans cet article :
Dans votre journal git, vous constaterez que les messages de validation contiennent une balise «Signed-off-by». Cette balise sera lue par Github et d'autres pour fournir des informations utiles sur la façon dont la validation s'est terminée dans le code.
git am < somepatch.patch
renvoie "fatal: nom ident vide (pour <>) non autorisé". Quelqu'un peut-il m'expliquer pourquoi?Author
têtes dans le patch, et / ou vous ne l'avez pas faitgit config user.{name,email}
.git apply --check
ditpatch does not apply
, etgit apply -3
ditrepository lacks the necessary blob to fall back on 3-way merge.
In git, rebaser les commits est un jeu d'enfant; mais comment les gens rebasent-ils leurs correctifs en plus du code mis à jour?la source
Ou, si vous le faites à l'ancienne:
la source
Vous devez d'abord prendre note de la différence entre
git am
etgit apply
Lorsque vous utilisez,
git am
vous souhaitez généralement appliquer de nombreux correctifs. Il faut donc utiliser:ou juste:
Git trouvera automatiquement les correctifs et les appliquera dans l'ordre ;-)
UPD
Ici vous pouvez trouver comment générer de tels correctifs
la source
git apply
.. et en--reverse
:-) 👍Si vous souhaitez l'appliquer en tant que commit , utilisez git am .
la source
Si vous utilisez un IDE JetBrains (comme IntelliJ IDEA, Android Studio, PyCharm), vous pouvez faire glisser le fichier de correctif et le déposer dans l'EDI, et une boîte de dialogue apparaîtra, montrant le contenu du correctif. Il ne vous reste plus qu'à cliquer sur "Appliquer le patch", et un commit sera créé.
la source
Vous pouvez utiliser le cmd mentionné ci-dessous
la source