J'essaie donc de créer un alias ZSH pour Git qui rebase ma branche actuelle sur la branche à l'origine de celle-ci.
Exemples:
Étant donné les noms de branche suivants de A et B. Si je crée une branche B en demandant à A de temps en temps je voudrais garder B à jour avec A.
Pour faire cela manuellement, je ferais habituellement:
git rebase A
Ce qui rembourserait les commits à partir de la fourche B au dessus de A.
Étant donné que je souhaite qu'une commande le fasse automatiquement pour toute branche sur laquelle je travaille, voici où je me dirigeais:
git rebase --onto A {commit-hash-of-fork-point} B
Je crois que cette commande donnera le fork point commit:
git merge-base --fork-point A B
Donc, en les combinant:
git rebase --onto A $(git merge-base --fork-point A B) B
Comment puis-je écrire cela comme un alias générique pour ZSH afin que je puisse simplement appeler gr et il déterminera la branche actuelle, et la branche fourchue, etc.
gr A B se développera dans votre dernière commande combinée.
gr() { git rebase --onto "$1" $(git merge-base --fork-point "$1" "$2") "$2" }. Cela serait défini dans l'un des fichiers de démarrage.