L'utilisation normale pour le suivi des branches est telle que vous pouvez les récupérer. Si vous voulez pousser à une télécommande pour la sauvegarde, vous voulez probablement toutes vos succursales là-bas, oui? Donc, vous pouvez le faire:
git config remote.backup.mirror true
Ensuite, chaque fois que vous exécutez git push backup
, il sera renvoyé par défaut au comportement de git push --mirror backup
, qui pousse tous refs (pas seulement toutes les branches - tous les tags, toutes vos autres branches à distance, tout).
Si vous ne voulez pas aller jusque-là, vous pouvez toujours faire:
git push --all backup
Ça va pousser toutes les branches, mais pas le reste de votre refs.
Enfin, si vraiment vous ne voulez juste pousser une branche ... eh bien, pour l'essentiel, vous devriez toujours le faire simplement:
git push origin backup-branch
La seule façon que vous pourriez le rendre plus court est juste rendre l'opération par défaut effectuée par git push
, si vous voulez vraiment. Il existe quatre options pour le comportement de git push
sans argument:
- rien ne pas pousser quoi que ce soit.
- correspondant à pousser toutes les branches correspondantes. Toutes les branches ayant le même nom aux deux extrémités sont considérées comme correspondant. C'est la valeur par défaut.
- suivi Poussez la branche en cours vers sa branche amont.
- actuelle Poussez la branche en cours vers une branche du même nom.
Vous pouvez définir votre préféré un avec git config push.default <value>
. Si vous le modifiez à tracking
, la configuration de votre branche de sauvegarde en tant que branche de suivi vous permet de la pousser sans arguments, mais seulement si elle est déjà extraite. Et cela vous évitera d'utiliser git push
pour pousser plusieurs branches à la fois (le comportement par défaut, ce qui est vraiment sympa). Donc, si vous voulez vraiment le faire de cette façon, vous devrez en effet configurer votre branche comme une branche de suivi. Vous pouvez raccourcir la façon dont vous avez fait un peu:
git branch backup-branch
git push origin backup-branch
# most elegant way:
git branch --set-upstream backup-branch origin/backup-branch
# or this:
# git branch -f backup-branch origin/backup-branch
# or this:
# git config branch.backup-branch.remote origin
# git config branch.backup-branch.merge refs/heads/backup-branch
Si tout se passe au pire, vous pouvez simplement créer un script bash et l'utiliser comme votre "moyen plus facile" – Jasper
Je pensais à cela aussi, et était prêt à faire quelque chose comme 'git branche $ 1 && git push origine $ 1 && git -d $ 1 ... 'mais en changeant le push par défaut de tracking à current et en poussant juste la branche dans laquelle je suis (selon @jefromi) c'était ce que je cherchais. – Hans