Question

J'ai un dépôt public à github.com avec 2 branches: master et test

.

J'ai créé un nouveau répertoire et localement fait:

[ ] git clone git@github.com:{username}/{projectname}.git

Je créé une nouvelle branche nommée my_test avec

[ ] git branch my_test

et tournés vers elle.

[ ] git checkout my_test

Alors je l'ai fusionné de ma branche test de mon dépôt public

[ ] git merge origin/test

et il a donné lieu à une avance rapide.

J'ai fait quelques changements et les commis. Ensuite, j'ai essayé de pousser la branche locale my_test à la branche test public github avec

[ ] git push git@github.com:{username}/{projectname}.git test 

mais j'eu cette erreur:

error: src refspec test does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

Peut-être essayer:

git push git@github.com:{username}/{projectname}.git HEAD:test

Le format du dernier paramètre sur cette ligne de commande est un refspec qui est une ref source suivi par deux points, puis l'arbitre de destination. Vous pouvez également utiliser votre nom de la branche locale (my_test) au lieu de HEAD pour être certain que vous poussez la branche correcte.

La documentation git push a plus détails sur ce paramètre.

Autres conseils

En outre, vous n'avez pas besoin de taper directement l'URL chaque fois que vous voulez pousser. Lorsque vous avez exécuté le clone, git sauvé cette URL comme « origine », c'est la raison pour laquelle vous pouvez exécuter quelque chose comme « fusion origine / test » - cela signifie que la branche « test » sur votre serveur « origine ». Ainsi, la façon la plus simple de pousser à votre serveur dans ce cas serait:

git push origin my_test:test

qui va pousser votre branche locale « my_test » à la branche « test » sur votre serveur « origine ». Si vous aviez appelé votre succursale locale la même chose que la branche sur le serveur, le colon n'est pas neccesary, vous pouvez simplement faire:

git push origin test

Cette erreur est également si vous essayez de pousser vers un nouveau référentiel sans avoir rien commis d'abord. Essayez:

git add -A
git commit -am 'Initial commit'

Et puis essayer à nouveau pousser.

Je pense ici, vous aurez besoin de mettre en place le suivi de la branche. S'il vous plaît exécutez les commandes suivantes pour activer le suivi

git branch --track my_test origin/my_test

Pour tester

git push -u origin my_test
git pull origin my_test

Vous devez vous assurer que votre référentiel local ont le même nom que votre dépôt distant que vous essayez de pousser.

Tout d'abord, le dépôt de changement à l'aide « test » de la branche git pour que « my_test » serait « test ». En second lieu, tout essai d'origine git push

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top