Si je travaille sur une branche d'un repo, par exemple devel
, quelle est la différence entre les commandes suivantes? Dans ce cas, je l'ai déjà ajouté une upstream
à distance:Spécification d'arguments de branche pour git fetch, fusion et push
$ git fetch upstream devel
From github.com:meteor/meteor
* branch devel -> FETCH_HEAD
et
$ git fetch upstream
remote: Counting objects: 500, done.
remote: Compressing objects: 100% (230/230), done.
remote: Total 326 (delta 227), reused 187 (delta 90)
Receiving objects: 100% (326/326), 46.61 KiB, done.
Resolving deltas: 100% (227/227), completed with 87 local objects.
From github.com:meteor/meteor
* [new branch] appconfig -> upstream/appconfig
* [new branch] check-path -> upstream/check-path
248ff08..4d44a4d ctl-migrate -> upstream/ctl-migrate
2c356d2..bfb8fd3 devel -> upstream/devel
* [new branch] release-0.6.5 -> upstream/release-0.6.5
64b95a4..c0014df shark -> upstream/shark
From github.com:meteor/meteor
* [new tag] release/0.6.5-rc11 -> release/0.6.5-rc11
* [new tag] release/0.6.5-rc12 -> release/0.6.5-rc12
Comment savoir ce qu'il faut d'extraction obtenir si aucune branche est spécifiée?
De plus, pourquoi est-ce que la commande de fusion est
$ git merge upstream/devel
mais si je veux pousser les changements à ma fourchette, je dois dire
$ git push origin devel
pourquoi est-il une barre oblique un cas mais pas l'autre?
'git fetch upstream devel' ne ressemble-t-il pas plus à 'get fetch upstream refs/heads/devel' (notez les * têtes *)? Les références distantes devraient aussi être sous le nom distant, donc ce serait 'refs/remote/upstream/devel', si c'était le bon ref. – jszakmeister
@jszakmeister vrai. J'ai mis à jour la réponse. – VonC
+1 Merci pour l'explication complète et les pointeurs. Je suis sûr que cela vaudra la peine pour les autres parce que jusqu'ici, je tape des arguments de branche au hasard et je prie pour qu'elle fasse la bonne chose :) –