J'essaie de rebaser et d'écraser toutes mes validations de la branche actuelle au master. Voici ce que j'essaie de faire:
git checkout -b new-feature
faire quelques commits, après ça j'essayais:
git rebase -i master
dans ce cas, les validations resteront dans new-feature
branche
git checkout master
git rebase -i new-feature
Il me donne et édite une fenêtre avec un message noop.
Je connais la commande:
git merge --squash new-feature
Mais je travaille actuellement sur l'apprentissage de la commande rebase
.
Lors du rebasage, Git ne déplacera pas les commits vers une autre branche. Il déplacera la branche, y compris tous ses commits. Si vous voulez obtenir les validations dans master après avoir rebasé dessus, utilisez git merge <branch tip or commit of branch>
pour avancer rapidement la branche principale vers ce commit.
Laisse aller à travers les étapes.
1 - Nous créons une nouvelle branche de fonctionnalités
git checkout -b new-feature
2 - Maintenant, vous pouvez ajouter/supprimer et mettre à jour ce que vous voulez sur votre nouvelle branche
git add <new-file>
git commit -am "Added new file"
git rm <file-name>
git commit -am "Removed a file"
cat "add more stuff to file" >> <new-file>
git commit -am "Updated files"
3 - Ensuite, choisissez et écrasez toutes les validations dans un joli joli message de validation
git rebase -i master
La chose clé dont vous devez vous souvenir ici est de changer le texte qui dit "choisir" en "écraser" pour toutes les validations après la première validation. Cela écrasera tous les commits vers votre branche principale.
4 - Sélectionnez la branche maître
git checkout master
5 - Déplacez le HEAD et la branche master où se trouve la nouvelle fonctionnalité:
git rebase new-feature
Vous pouvez essayer toutes les commandes de cet outil visuel: http://pcottle.github.io/learnGitBranching/