Git: S'engager dans plusieurs branches en même temps
Je veux faire un seul s'engager sur des branches différentes en même temps, puisque, dans mon projet, j'ai branches différentes pour les différents clients.
Dire, j'ai fait une nouvelle fonctionnalité commit sur la Branche A. je Peux aussi faire ce commit sur la Branche B, de la Branche des C et D en même temps? Est-il un raccourci de commande pour cela? C'est très pénible à la caisse une branche, et cherrypick le commit à chaque fois, à un moment donné, si la validation est nécessaire sur de nombreuses branches, ce serait un cauchemar pour moi.
Toute simple script bash pour cette opération?
Il y a un question similaire. mais la relocalisation n'est pas que je veux.
source d'informationauteur Kit Ho
Vous devez vous connecter pour publier un commentaire.
Le cherry-pick fonction sera de faire le travail et ne s'applique qu'à la dernière validation:
Considérant les branches A, B
espérons que cette aide!
Puisqu'il n'est pas typique de réponse pour ma question, j'ai écrit un script simple pour automatiser ce processus. N'hésitez pas à commenter ce code.
Quelque chose que vous pourriez vouloir jeter un oeil à:
git stash
vos modifications,git commit
git checkout
une autre branche,git stash apply
git commit
etc.Voir le les pages de manuel.
Je pense que vous pouvez écrire un post-commit hook de fusionner ou de cherry-pick avec les autres branches. Mais il ne sera évidemment pas un seul commit.
Crochet va permettre d'automatiser ce que vous voulez atteindre.
http://git-scm.com/docs/githooks
Non, je ne pense pas que vous pouvez le faire. Votre meilleure option serait de s'engager à une de vos succursales (ou une branche master), puis de fusionner les engager dans le les autres un par un, ou de choisir l'engager dans chacune des autres branches.
Je ne pense pas qu'il existe un moyen de cela. Peut-être vous avez besoin d'écrire un script bash ou faire un autre repo pour les différentes branches.
Vous pouvez également faire de belles automation à l'aide de Python:
Il peut dépendre de la façon dont vous allez pousser votre commet. Je veux dire, vous avez toujours la chance de pousser dans plusieurs branches d'un
git push
commande.Effectuer les opérations suivantes
.git/config
paramètres pour s'assurer que lemaster
branche sera toujours poussé à l'foobar
branche, trop.Mais le problème ici, peut-être que si ces deux branches divergentes, vous ne pouvez pas pousser. Vous pouviez encore réorganiser votre code client de détection est basée sur la branche que vous construisez. De cette façon, vous pourriez maintenir des dizaines de clients et de toujours garder toutes les branches en synchronisation.
Peut-être que cela aidera certaines personnes,
J'ai utilisé le Kit Ho"s méthode ci-dessus et de l'ajouter à .gitconfig comme alias.
À pousser simultanément sur de multiples branches, il suffit d'installer & configurer SourceTree et sélectionnez "Push" et les branches que vous souhaitez déployer.