Pourquoi “git push helloworld +master:master” au lieu de “git push helloworld”?
J'ai essayé de pousser ma (première!) repo git comme ça d'abord:
$ git push helloworld
Mais j'ai eu ce retour:
To [email protected]:helloworld.git
! [rejected] HEAD -> master (non-fast forward) error:
failed to push some refs to '[email protected]:helloworld
git'
J'ai donc trouvé une autre question StackOverflow sur "modifié s'engage" et essayé de faire une suggestion à partir de là sans vraiment savoir si on pourrait m'aider:
KaiserSosa@SMICHAELS /c/test/helloworld (master)
$ git push helloworld +master:master
Il a travaillé!
Mais je ne sais pas pourquoi il a fixé mon problème 🙁
Quelqu'un pourrait-il expliquer pourquoi cela fonctionne, mais "git push helloworld
" ne l'est pas?
A ajouté une autre solution, en réponse à votre commentaire.
OriginalL'auteur S. Michaels | 2009-09-25
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez réécrit votre histoire (SHA-1 associé à votre commit) dans votre branche master.
Qui signifie, vous pouvez plus pousser dans un fast-forward mode.
le +maître des forces de la pousser à prendre place:
En ayant l'option de leader +, vous pouvez indiquer à git pour mettre à jour le
<dst>
réf même lorsque la mise à jour n'est pas une avance rapide.Remarque: cela pourrait être mauvais si quelqu'un d'autre a déjà cloné votre référentiel, puisqu'ils ne seront plus en mesure de tirer juste votre branche master sans avoir un conflit.
Voir aussi ce DONC réponse pour plus d'.
Remarque: comme indiqué par Junio C. Hamano:
Comme mentionné dans le Git FAQ, un plan d'action possible est:
Autre solution (qui est ce que vous avez fait):
Qu'il a été. Merci beaucoup! J'ai refait à partir de zéro, mais cette fois j'ai fait un pull d'abord, et cela a fonctionné. Quelle étrange caprice! Dans Mercurial, je n'ai jamais eu à faire quelque chose comme ça quand je suis la mise en place d'un nouveau projet.
hg push a un indicateur de force pour la même raison. Si vous modifiez l'histoire (via mq ou quoi que ce soit), vous aurez à se forcer à pousser.
OriginalL'auteur VonC