Remarque : le fait que le nouvelle politique de poussée par défaut " simple
" s'appuie sur une branche ayant un amont signifie que :
la création d'une branche amont est considérée comme une démarche volontaire, et non comme une démarche automatisée cachée
Quand " git push [$there]
"ne dit pas ce qu'il faut pousser, nous avons utilisé la sémantique traditionnelle de "correspondance" jusqu'à présent (toutes vos branches ont été envoyées au distant tant qu'il y a déjà des branches du même nom là-bas).
Nous utiliserons le " simple
"qui pousse la branche actuelle vers la branche du même nom, uniquement lorsque la branche actuelle est prête à intégrer cette branche distante .
Il existe une variable de configuration des préférences de l'utilisateur " push.default
"pour changer cela.
Donc, en partant de poisson mécanique 's respuesta vous pouvez définir un alias, avec les bons guillemets ( "
) échappé ( \"
) :
git config alias.pu "![[ $(git config \"branch.$(git rev-parse --abbrev-ref HEAD).merge\") = '' ]] && git push -u || git push"
git pu origin
Sc0ttyD propose dans les commentaires l'alias suivant :
alias gpu='[[ -z $(git config "branch.$(git symbolic-ref --short HEAD).merge") ]] && git push -u origin $(git symbolic-ref --short HEAD) || git push'
En plusieurs lignes :
alias gpu='[[ -z $(git config "branch.$(git symbolic-ref --short HEAD).merge") ]] &&
git push -u origin $(git symbolic-ref --short HEAD) ||
git push'