Git rebase (Fusion de Squash) ma branche sur une autre branche
Je suis à la recherche d'une commande git pour m'aider avec mes branches quand ils sont prêts à aller en Master. Cette commande git serait squash tous mes modifications sur ma branche en un seul commit sur le dessus de maître. Je le fais aujourd'hui avec:
git rebase origin/master
git rebase -i HEAD~4
Où 4 est le nombre de validations de la courge. Toutefois, cela exige de moi de savoir combien de livraisons que j'ai. Je le fais aujourd'hui en cours d'exécution:
git log HEAD...origin/master
et puis en comptant le commet.
Je me sens comme si il devrait y avoir une meilleure façon de le faire. Ou est-ce que tout le monde le fait, trop?
- Je ne comprends pas. N'est-ce pas exactement ce que
git rebase -i origin/master && git checkout master && git merge <feature_branch>
n'? - ... À condition que vous décidez de squash pendant le rebase interactif qui est.
- Pour l'objectif spécifique de compter les commits entre votre branche et le maître, vous pouvez le faire
git log --oneline master..FEATURE-BRANCH | wc -l
- Double Possible de Comment utiliser git merge --squash?
- C'est la même solution, mais je ne savais pas à propos de la courge commande quand j'ai posé cette question. Trouver cette autre question m'oblige à connaître la réponse.
Vous devez vous connecter pour publier un commentaire.
Tout ce que vous avez à faire est de:
Comme le docs pour
git merge --squash
dire:Après cela, vous pouvez
git commit
vos changements qui sont déjà mis en scène.Voici ce que je fais, recueillies à partir d'une grande expérience de travail dans les plus grandes équipes:
Espérons que cette aide!
this forces an empty merge commit (useful if we need to roll things back)
Qu'entendez-vous par là?Je pense que vous êtes à la recherche pour
git merge --squash
. Il faut se mettre dans les commits de votre branche, en maître et les courges, de sorte que vous pouvez créer un seul commit.