Existe-t-il un raccourci pour indiquer à Git de pousser la branche de suivi actuelle vers l'origine?
Remarque: je sais que je peux modifier le comportement de transmission par défaut , mais je recherche une solution ad hoc qui ne modifie pas le comportement par défaut.
Par exemple, supposons que je sois sur une branche que feature/123-sandbox-tests
j'utiliserais
git push origin feature/123-sandbox-tests
ce qui est fastidieux. Je cherche un raccourci, quelque chose comme
git push origin current
où git sait que le courant est feature/123-sandbox-tests
.
Edit : à partir de la version 2.0, le comportement par défaut de git est devenu un comportement plus intuitif, ce que je voulais réaliser. Voir cette question SO pour plus de détails.
Edit 2 : la réponse de ceztko est la meilleure réponse car elle permet de pousser la branche courante, quels que soient les paramètres.
git push
ne pousser que la branche actuelle, mais sur d'autres machines, vous pouvez accidentellement pousser toutes les branches correspondantes.co
, donc si je devais même essayer de dérouler puis d'extraire du code sans mon~/.gitconfig
fichier sur cette VM, je le saurai immédiatement. Cela me permet de me sentir assez en sécurité pour changer la valeur par défaut de push enupstream
.@
, ce qui est documenté comme un alias valide pourHEAD
. (par exemplegit push -u origin @
)Vous pouvez configurer git pour pousser vers la branche actuelle en utilisant la commande suivante
alors fais juste
cela poussera le code vers votre branche actuelle.
la source
push = refs/heads/current:refs/for/master/current
à une section «distante» dans .git / config? Autrement dit, «courant» est-il un mot spécial ici? Ou cherchera-t-il une branche appelée "actuelle"?git push -u origin feature_branch_name
de configurer en amont / suivi! Si vous utilisez au moins un référentiel distant.Vous devriez jeter un oeil à une question similaire dans le comportement par défaut de "git push" sans une branche spécifiée
Fondamentalement, il explique comment définir le comportement par défaut pour pousser votre branche en cours d'exécution
git push
. Vous avez probablement besoin de:git config --global push.default current
Autres options:
la source
J'utilise un tel alias dans ma configuration .bashrc
Sur la commande,
$gpb
il prend le nom de la branche actuelle et le pousse à l'origine.Voici mes autres alias:
la source
Pour ce que ça vaut, le raccourci ultime:
Dans mon
.bash_profile
je l'aialias push="git push origin HEAD"
, donc chaque fois que je tape,push
je sais que je pousse vers la branche actuelle sur laquelle je suis.la source
Si vous utilisez git 1.7.x, vous pouvez exécuter la commande suivante pour définir la branche de suivi à distance.
Ensuite, vous pouvez simplement utiliser
git push
pour pousser toutes les modifications. Pour une réponse plus complète, veuillez consulter la réponse acceptée à une question similaire ici.Si vous souhaitez uniquement pousser la branche actuelle avec la commande push, vous pouvez modifier le comportement de push en amont:
la source
git config --global push.default upstream
définira le comportement de poussée pour pousser uniquement la branche actuelle.La façon la plus simple: exécuter
git push -u origin feature/123-sandbox-tests
une fois. Cela pousse la branche comme vous en avez l'habitude et définit également les informations de suivi en amont dans votre configuration locale. Après cela, vous pouvez simplementgit push
pousser les branches suivies vers leurs télécommandes en amont.Vous pouvez également le faire dans la configuration vous-même en définissant
branch.<branch name>.merge
le nom de la branche distante (dans votre cas, le même que le nom local) et éventuellement,branch.<branch name>.remote
le nom de la télécommande vers laquelle vous souhaitez pousser (par défaut à l'origine). Si vous regardez dans votre configuration, il y en a probablement un déjà définimaster
, vous pouvez donc suivre cet exemple.Enfin, assurez-vous de considérer le
push.default
paramètre. Il est par défaut "correspondant", ce qui peut avoir des résultats indésirables et inattendus. La plupart des gens que je connais trouvent "en amont" plus intuitif, ce qui ne pousse que la branche actuelle.Des détails sur chacun de ces paramètres peuvent être trouvés dans la page de manuel git-config .
Après réflexion, en relisant votre question, je pense que vous savez tout cela. Je pense que ce que vous cherchez n'existe pas. Que diriez-vous d'une fonction bash quelque chose comme (non testé):
la source
Avec l'aide de la réponse de ceztko, j'ai écrit cette petite fonction d'aide pour me faciliter la vie:
Il pousse la branche actuelle à l'origine et définit également la branche de suivi à distance si elle n'a pas encore été configurée.
la source