2009-09-08 8 views
10

J'ai des commits qui sont dans un dépôt distant (origine/maître) que je veux mettre dans une branche créée à partir de ce référentiel (origine/remote_branch) .git dit tout-up-to-date en poussant les changements à une branche distante

quand je la caisse pour cette branche à distance

git checkout -b mybranch origin/remote_branch 

puis les cerises cueillies commits que j'ai fait

git cherry-pick 9df63616b0428cf6edc4261adb533a1ac516b9a0 

git dit tout-up à jour lorsque je tente de pousser.

git push 

Y at-il quelque chose que je fais mal?

Répondre

24

En fonction de votre version de Git, il peut essayer de pousser les branches dont les noms correspondent, à savoir master-origin/master et remote_branch à origin/remote_branch. Si votre référentiel d'origine n'a pas de branche nommée mybranch alors il pense qu'il n'y a rien à mettre à jour.

Pour remplacer cette valeur par défaut, vous pouvez indiquer explicitement git quelle branche à utiliser comme source (mybranch) et qui à utiliser comme destination sur le dépôt distant (remote_branch):

git push origin mybranch:remote_branch 

Il y a une option de configuration dire git pour pousser à des branches de suivi à distance par défaut:

git config --global push.default tracking 

Je trouve cela plus intuitive et je pense qu'il est le comportement que vous recherchez. Vérifiez l'option push.default dans le git config man page. Consultez également la section Exemples dans le git push man page pour voir comment remplacer le comportement par défaut.

+0

whoa! "Si votre référentiel d'origine n'a pas de branche nommée mybranch, il pense qu'il n'y a rien à mettre à jour." cela totalement fait! Merci pour la réponse rapide! :) –

Questions connexes