que je cherchais autour de l'Internet et ne peut pas trouver ce que cela fait:git pousser question
git push origin master:refs/heads/master
Quelle est la différence avec tout simplement:
git push origin master
Merci.
que je cherchais autour de l'Internet et ne peut pas trouver ce que cela fait:git pousser question
git push origin master:refs/heads/master
Quelle est la différence avec tout simplement:
git push origin master
Merci.
Dans les versions de git antérieures à la version 1.5.5.2, il existait une différence importante entre ces commandes. Vous deviez utiliser le nom complet de l'arbitre du côté destination de la refspec si cette branche n'existait pas déjà. (La validation qui a modifié ce comportement a an interesting description of the change.)
Dans les versions actuelles de git, il n'y a aucune différence entre les deux, tant que master
est sans ambiguïté dans le référentiel de destination - c'est presque toujours le cas, sauf si vous avez fait quelque chose de délibérément confus comme créer une étiquette appelée master
. Lorsque vous faites git push origin master
, git essaie d'interpréter master
comme refspec. Étant donné que cette refspec n'a pas :
séparant la source et la destination refs, il suppose par défaut que vous voulez dire:
git push origin master:master
... et les noms ref incomplets sont portés à refs/heads/master
des deux côtés (encore une fois, aussi longtemps que master
est non ambigu dans les dépôts source et destination).
Il n'y a pas de différence. L'un est juste une version plus verbeuse de l'autre.
master:refs/head/master
est dire pousser votre master
locale aux télécommandes refs/head/master
Pour plus de détails, regardez la dernière partie de this page.
En fait, le comportement de 'git pousser
Merci pour la clarification Mark. Je ne le savais pas. – Andy
Merci pour la clarification Mark –