Git: s'Engager pour 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.
double possible de s'Engager à plusieurs branches en même temps avec git
Voir aussi stackoverflow.com/a/30186843/6309
Si Spoutnik réponse vous a aidé, pensez à les accepter avec la coche verte
OriginalL'auteur Kit Ho | 2011-08-31
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!
OriginalL'auteur spoutnik
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.
OriginalL'auteur Kit Ho
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.
git stash apply
, pasgit stash pop
.Merci pour la correction je devrais avoir dirigé Kit Ho à lire les pages man 😉
OriginalL'auteur Philip Oakley
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
OriginalL'auteur rangalo
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.
OriginalL'auteur PraveenMak
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.
Il devrait être assez trivial pour ce script. Vérifiez également @rangalo de réponse.
OriginalL'auteur harald
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.
OriginalL'auteur panda
Vous pouvez également faire de belles automation à l'aide de Python:
OriginalL'auteur zoresvit
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.
OriginalL'auteur Martin Gerhardy
À 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.
OriginalL'auteur Native_Mobile_Arch_Dev