Rebasculer tous les commits depuis la création de la branche
Si vous voulez juste rebaser tous les commits qui sont nouveaux dans votre branche, depuis le moment où vous avez fait un branchement à partir de la branche mère, il serait plus facile d'avoir l'alias suivant dans votre configuration :
rbi = !sh -c \"git rebase -i `git merge-base $1 HEAD`\" -
Ensuite, si vous voulez rebaser tous les commits que vous avez ajoutés à votre branche actuelle, vous pouvez simplement exécuter :
git rbi parentBranch
Cette approche utilise un argument, mais au lieu d'avoir à connaître le nombre de commits à remonter, vous fournissez simplement le nom de la branche, et il calcule le commit le plus récent partagé entre la branche courante et la branche mère via git merge-base
Pourquoi cela, plutôt que git rebase -i parentBranch ?
La raison pour laquelle vous feriez cela plutôt qu'une simple git rebase -i parentBranch
est que vous pourriez ne pas vouloir gérer les conflits de fusion jusqu'à un moment ultérieur, ou même gérer un conflit de fusion dans un commit, puis le même conflit sur la même ligne dans un autre commit. Voir https://stackoverflow.com/a/31036645/444610
4 votes
Pourquoi faites-vous cela si souvent que vous pensez avoir besoin de ces alias ?
4 votes
La question vient en fait du raccourci "rebase", bien qu'elle semble dénuée de sens pour ces personnes. pas si des commandes fréquentes. Mais cette question peut être générale. Ainsi...
0 votes
Duplication possible de alias git avec paramètres positionnels (git foo aaa bbb ccc => foo aaa && bar bbb && baz ccc)
0 votes
D'accord avec @meagar. Si le but est de rebaser tous les commits depuis que votre branche a divergé de sa branche mère, sans avoir à rebaser directement à partir de cette branche, ce qui peut conduire à des conflits de fusion que vous n'avez pas forcément envie de gérer pour le moment, voir ma réponse.