Maison >outils de développement >git >Comment pousser le validation spécifié
Cet article répond à plusieurs questions GIT communes liées à la poussée spécifique des branches éloignées. Nous explorerons comment y parvenir en utilisant diverses commandes et stratégies GIT.
Pousser un seul engagement spécifique dans une branche distante nécessite l'utilisation de la commande git push
avec un hachage de validation spécifique. Disons que vous souhaitez pousser Commit a1b2c3d4
à la branche remote-branch
de votre référentiel distant. Vous ne pouvez pas spécifier directement un seul engagement avec un simple git push origin remote-branch
. Au lieu de cela, vous devez créer une nouvelle référence pointant vers cet engagement spécifique sur votre référentiel local, puis repousser cet refuge vers la télécommande. Cela se fait en utilisant les étapes suivantes:
git log
pour identifier le hachage SHA-1 de l'engagement que vous souhaitez pousser. Il s'agit généralement d'une chaîne hexadécimale de 40 caractères (par exemple, a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
). Créer une réf: Créer une branche temporaire (ou utiliser une existante si appropriée) pointant vers votre engagement souhaité. Par exemple:
<code class="bash">git branch temp-branch a1b2c3d4</code>
Poussez la référence temporaire: Poussez cette branche temporaire vers le référentiel distant. Spécifiez le nom de la télécommande (origin
dans la plupart des cas) et le nom de la branche (temp-branch
dans cet exemple):
<code class="bash">git push origin temp-branch</code>
(Facultatif) Supprimer la branche temporaire: Après avoir poussé, vous pouvez supprimer la branche temporaire locale et démêlée si vous n'avez pas besoin:
<code class="bash">git branch -d temp-branch git push origin :temp-branch</code>
, et a1b2c3d4
par vos valeurs réelles. origin
remote-branch
Comment puis-je pousser de manière sélective qu'un seul engagement dans une branche distante?
La séquence de commande décrite dans la première section est la plus appropriée. L'utilisation de git push origin <branch>:<commit>
ne fonctionnera pas de manière fiable parce que Git attend une référence de branche, pas un seul hachage de validation, pour la source. La succursale temporaire agit comme cette référence nécessaire, isolant proprement le seul engagement pour l'opération push.
Oui, absolument. La méthode décrite dans la première section fonctionne quelle que soit votre branche actuellement vérifiée. Vous spécifiez simplement le nom de la branche cible pendant la commande git push
. Par exemple, pour pousser Commit a1b2c3d4
à une branche éloignée nommée different-branch
, vous utiliseriez:
git branch temp-branch a1b2c3d4
git push origin temp-branch:different-branch
git branch -d temp-branch
et git push origin :temp-branch
Cette commande temporaire (temp-branch
different-branch
different-branch
au référentiel distant, mais sous le nom different-branch
. Cela place efficacement l'engagement spécifique sur une branche différente de la télécommande. N'oubliez pas que cela créera ou mettra à jour le
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!