118 votes

Pousser une branche locale vers GitHub

J'ai configuré Git de sorte que lorsque j'exécute git push il pousse les changements vers mon dépôt GitHub. Jusqu'à présent, je n'avais qu'une branche master.

Cependant, j'ai maintenant créé une branche locale et je l'ai validée en utilisant :

git checkout -b my_new_branch
git commit

Ce que je voudrais faire maintenant est de pousser mes changements sur cette branche vers GitHub. Dois-je simplement faire un git push ?

Quand je l'ai installé pour la première fois, j'ai couru :

git config push.default current

0 votes

Quelle est exactement votre question ? Avec push.default réglé de cette façon, oui, git push poussera la branche actuelle vers origin, qui est votre repo github, en supposant que vous avez cloné à partir de là. (Vous pouvez spécifier un autre répertoire distant avec branch.my_new_branch.remote si vous le souhaitez). Avez-vous essayé et cela n'a pas fonctionné ?

1 votes

Si vous voulez que toutes vos branches locales poussent vers la même branche distante, soyez explicite : git push origin HEAD:remote_branch

221voto

Tom Points 5531

Je crois que vous cherchez git push origin my_new_branch en supposant que votre télécommande d'origine est configurée pour atteindre votre dépôt Github.

0 votes

Git push <remote> <branch>comme pour atlassian.com/git/tutorials/syncing/git-push

3 votes

Si vous souhaitez ensuite travailler sur cette branche avec d'autres personnes et donc utiliser git pull, vous devrez définir des informations de suivi pour votre nouvelle branche : git branch --set-upstream-to=origin/my_new_branch my_new_branch

9voto

xaxxon Points 5389

En fonction de vos paramètres git locaux, si vous avez une branche extraite qui n'est pas celle que vous avez clonée ou une branche qui existe à l'endroit où vous essayez de pousser, git ne poussera pas votre branche locale.

Voici le message qu'il fournit :

avertissement : push.default n'est pas défini ; sa valeur implicite a changé dans Git 2.0 de "matching" à "simple". Pour étouffer ce message et maintenir le comportement traditionnel, utilisez :

git config --global push.default matching

Pour étouffer ce message et adopter le nouveau comportement maintenant, utilisez :

git config --global push.default simple

Lorsque push.default est réglé sur 'matching', git va pousser les branches locales vers les branches distantes qui existent déjà avec le même nom.

Depuis Git 2.0, Git adopte par défaut le comportement plus conservateur de "simple". plus conservateur, qui ne pousse la branche courante que vers la branche distante correspondante. branche distante correspondante que 'git pull' utilise pour mettre à jour la branche courante.

Voir "git help config" et rechercher "push.default" pour plus d'informations. informations. (le mode "simple" a été introduit dans Git 1.7.11). Utilisez l'option mode similaire 'current' au lieu de 'simple' si vous utilisez parfois d'anciennes versions de Git)

fatal : La branche actuelle MyLocalBranch n'a pas de branche amont. Pour pousser la branche actuelle et définir la branche distante comme amont, utilisez

git push --set-upstream origin MyLocalBranch

0voto

user1587329 Points 91

Si vous êtes vraiment paresseux, vous pouvez pousser toutes les branches locales en utilisant simplement

git push --all

-- tous

Pousser toutes les branches (i.e. refs sous refs/heads/ ) ; ne peut être utilisé avec d'autres <refspec> .

-12voto

GiaNU Points 76

Si vous avez configuré votre git pour qu'il soit poussé vers votre dépôt principal GitHub, peu importe la branche dans laquelle vous vous trouvez, il sera poussé vers votre dépôt principal GitHub.

N'oubliez pas que si de nombreux développeurs travaillent sur le même dépôt, vous risquez d'avoir un conflit.

0 votes

J'ai lancé git config push.default current

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X