6
votes

Comment puis-je pousser un git commetter sans un autre?

J'ai fait un git commit mais je n'ai pas poussé. Et je travaille maintenant sur une nouvelle solution de bogue, qui ne devrait pas toucher les mêmes fichiers que le premier commit.

est-il possible pour moi de commettre ce correctif de bogue et git poussez seulement ce commit?

git

1 commentaires

On dirait que vous avez posé plus de 50 questions, mais avez accepté des réponses à une petite fraction de celles-ci. Veuillez envisager d'utiliser la fonction "Accepter" pour marquer la réponse qui vous a été la plus utile.


4 Réponses :


6
votes

Ce que vous pouvez faire est de déplacer le précédent Engagez-vous à une succursale (temporaire) et à Cherry-Choisissez votre nouveau commit pour le maître. Par exemple: xxx

alors, temp_branch contiendra vos nouveaux engagements. Vous pouvez ensuite choisir plus tard votre précédent retour à la maîtrise: xxx

Après cela, votre branche principale contiendra les deux commentations mêmes que vous avez commencé, mais dans l'ordre inverse .


0 commentaires

0
votes

Faites juste un autre clone et poussez votre correctif de bug de là.


0 commentaires

0
votes

Notre boutique utilise de manière approfondie des succursales personnelles. Fondamentalement, le processus irait comme suit:

étant donné que vous êtes actuellement sur la branche principale xxx

ce qui précède crée une branche et vérifie la sortie ... c'est là que Vous mettez les engagements que vous n'êtes pas prêt à pousser.

Maintenant, vous devriez être capable de faire commettre la branche actuelle sans affecter la branche principale.

Lorsque vous êtes prêt à publier / pousser celui-ci commettre, juste faire: xxx

et vos autres commits ne vont pas sur le référentiel d'origine.

Lorsque vous êtes prêt à incorporer le "correction de bug" dans la branche principale, la caisse La branche principale et le faire; xxx

Je pense que cela répond à la question, mais sinon, faites-le moi savoir!


0 commentaires

7
votes

Tous les commits menant à un engagement particulier sont ce qui définit ce nouveau commit.

C'est-à-dire que si vous avez un maître → Dev → BugFix comme indiqué dans l'image ci-dessous:

Master → Dev → BugFix http://img.skitch.com/20091029-TBFFRG53Q73MDIPIWCR3G2YWUH.PNG < / p>

Vous pouvez appuyer sur dev seul mais pas bugfix seul, mais la définition de bugfix inclut dev , donc dev n'a aucune signification sans bugfix

Toutefois, si vous construisez ce bugfix en tant que branche de fonctionnalité, vous auriez quelque chose qui ressemble plus à ceci:

Branche de fonctionnalité http://img.skitch.com/20091029-T3W5QK3BHJ3FTX1D9XNK32IBKB.png

Vous pouvez toujours le faire rétroactivement (créez une nouvelle branche à partir d'origine Origine / Master , Cherry-Choisissez la modification, puis GIT RESET --HARD TÊTE ^ SUR VOTRE Direction du développement pour obtenir le changement de bugfix de celui-ci).

Une fois que c'est terminé, vous pouvez transférer votre succursale de dev avec un simple Git Rebase maître et il ressemblera à ceci:

nouveau maître http://img.skitch.com/20091029-1ts3enwsmsr29imcu7tyk75ett.png

En pratique, le démarrage des corrections de bugs d'une succursale rendra ce genre de chose plus facile en général.


0 commentaires