Je rebase souvent les branches des fonctionnalités, puis je veux forcer leur envoi au serveur.
git Push --force Origin feature-mongodb-support
Existe-t-il un raccourci pour git Push --force Origin <current branch>
?
Vous pouvez utiliser des alias pour raccourcir la commande. Utilisez-le comme ceci:
git config --global alias.fpush "Push --force Origin"
Maintenant, pour pousser votre branche tapez simplement:
git fpush feature-mongodb-support
Ou vous pouvez même coder en dur le nom de la branche dans la commande:
git alias fpush "Push --force Origin feature-mongodb-support"
et utilisez uniquement git fpush
pour pousser votre travail précieux en amont.
Cependant, les mises à jour non avancées sont dangereuses car vous écraserez en principe tout l'historique sur le serveur qui s'est produit entre la dernière fusion/nouvelle base dans votre branche locale et le transfert forcé. Si vous avez besoin de les faire souvent, il y a définitivement quelque chose qui ne va pas dans votre flux de travail.
Après avoir lu ces réponses et lu cette réponse à une question connexe ( https://stackoverflow.com/a/18782415/586 ), j'ai créé cet alias pour forcer Push to Origin
en fonction du nom de la branche actuelle:
fp = "!git Push -f Origin \"$(git rev-parse --abbrev-ref HEAD)\""
Cela devrait faire l'affaire:
git alias fpush "Push --force Origin"
Ce qui vous permettra d'utiliser git fpush
comme une alternative plus courte.
Pour forcer automatiquement le Push vers la branche suivie (quels que soient son nom et son amont), j'ai créé cet alias:
fbrpush=!git Push $(git rev-parse --abbrev-ref=loose --symbolic-full-name @{upstream} \
| sed 's:/: +:')
(la ligne est cassée pour plus de lisibilité)
(basé sur une autre SO réponse )
Si vous utilisez oh my zsh vous pouvez simplement faire
ggfl
qui fera cela pour vous
git Push --force-with-lease Origin <your_argument>/$(current_branch)