Erreur de maître d'origine sur le nouveau référentiel

181

Je viens de commencer à utiliser git avec github. J'ai suivi leurs instructions et j'ai rencontré des erreurs lors de la dernière étape. Je vérifie dans un répertoire existant qui n'est actuellement pas contrôlé par la source (projet vieux d'environ une semaine). En dehors de cela, mon cas d'utilisation devrait être assez courant.

Voici ce qui se passe:

$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to '[email protected]:{username}/{projectname}.git'

Les instructions de Github:

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email {username}@gmail.com

Next steps:

  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin [email protected]:{username}/{projectname}.git
  git push origin master
sutee
la source
4
Il semble que le commit initial n'a pas fonctionné pour une raison quelconque. Git log m'a aidé à voir si le commit fonctionne ou non. J'ai réussi à essayer à nouveau le lendemain. Merci!
sutee
1
Si vous n'ajoutez aucun fichier, ne validez pas ou n'exécutez pas git init, vous rencontrez toujours ce genre de problèmes. Par conséquent, exécutez toujours git statuspour voir si tout va bien.
raduken
erreur similaire lors de la création d'une branche vers un référentiel git nouvellement créé à partir de code existant. Résolution de l'erreur en clonant le référentiel git.
user553620
Possibilité de duplication d' erreur lors de «git push» vers github .

Réponses:

137

Le message d'erreur conduit à la conclusion que vous n'avez pas de masterbranche dans votre référentiel local. Poussez votre branche de développement principale ( git push origin my-local-master:masterqui la renommera mastersur github) ou effectuez d'abord un commit. Vous ne pouvez pas pousser un référentiel complètement vide.

Bombe
la source
10
J'ai eu le problème du "dépôt vide", puisque le guide pertinent référencé par GitHub ( beans.seartipy.com/2008/12/09/… ) ne mentionnait pas la commande "git commit -m 'first commit'". Une fois que j'ai utilisé ça, tout allait bien!
Pascal Lindelauf
3
J'avais juste oublié de valider mes changements.
Nick Josevski
Quand vous dites git push origin my-local-master:masterqu'est-ce que cela veut dire my-local-master? Si j'ai un nom de CSS-pix de mon dossier que je veux pousser
Nofel
187

J'avais le même problème puis je me suis cogné la tête parce que je n'avais pas réellement ajouté mes fichiers de projet.

git add -A
git commit -am "message"
git push origin master
Joey Green
la source
Oui, j'avais essayé ce qui suit, mais la solution pour moi était d'utiliser votre commande à la place: git add * La syntaxe correcte était: git add.
Eric Martindale
5
Est-ce que la MÊME chose ... jeesh. Merci!
cbmeeks
28

J'ai eu le même problème. J'ai supprimé le dossier .git puis suivi les commandes suivantes

  1. $ git init
  2. $ git add .
  3. $ git remote add origin [email protected]:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master
sugnan prabhu
la source
9

J'ai le même problème. cela a résolu mon problème. Si vous lancez votre git. vous devez faire sur le terminal

1) git add .

2)git commit -m "first commit"

Pour envoyer à bitbucket

3) git push -u origin --all # pushes up the repo and its refs for the first time

Erhan Demirci
la source
6

J'ai juste eu le même problème lors de la création de mon premier référentiel Git. J'ai eu une faute de frappe dans la création distante d'origine Git - il s'avère que je n'ai pas mis en majuscule le nom de mon référentiel.

 git remote add origin [email protected]:Odd-engine

J'ai d'abord supprimé l'ancienne télécommande en utilisant

git remote rm origin

Ensuite, j'ai recréé l'origine, en m'assurant que le nom de mon origine était tapé EXACTEMENT de la même manière que mon origine était orthographiée.

git remote add origin [email protected]:Odd-Engine

Plus d'erreur! :)

Technohazard
la source
4

J'ai eu la même erreur, comme Bombe a dit que je n'avais pas de branche locale nommée master dans ma config, bien que j'aie listé git branchune branche nommée master ...

Pour résoudre ce problème, ajoutez simplement ceci à votre .git / config

[branch "master"]
    remote = origin
    merge = refs/heads/master

Kinda hacky mais fait le travail


la source
3

assurez-vous que vous êtes sur une branche, au moins dans la branche principale

type:

git branch

tu devrais voir:

ubuntu-user: ~ / git / curmeric-releng $ git branch

* (no branch)
master

puis tapez:

git checkout master

alors tous vos changements s'intégreront dans la branche principale (ou la branche que vous choisissez)

jose alvarez muguerza
la source
2

Pour résoudre réellement le problème, j'ai utilisé la commande suivante pour préparer tous mes fichiers à la validation.

$ git add .
$ git commit -m 'Your message here'
$ git push origin master

Le problème que j'ai eu était que la commande -u dans git add n'ajoutait pas réellement les nouveaux fichiers et que la commande git add -A n'était pas prise en charge sur mon installation de git. Ainsi, comme mentionné dans ce fil de discussion, le commit que j'essayais de mettre en scène était vide.

Asciant
la source
cela a fonctionné pour moi! J'ai essayé avec trop de commandes et rien n'a changé ... mais c'était la solution pour moi!
karensantana
1

j'ai résolu mon problème ...

je ne sais pas quel était le problème mais en utilisant l'interface gitx pour valider mes fichiers intermédiaires, alors ...

$ git push origin master

travaillé...

J'ai le même problème...

a créé un nouveau dossier ajouté dans les fichiers de modèle de bort ...

$ git commit -m 'first commit'

$ git remote add origin [email protected]:eltonstewart/band-of-strangers.git

$ git push origin master

alors j'obtiens la même erreur ...

erreur: src refspec master ne correspond à aucun.
fatal: l'extrémité distante a raccroché de manière inattendue
erreur: échec de l'envoi de certaines références à '[email protected]: eltonstewart / band-of-strangers.git'

utilisateur108060
la source
1
error: failed to push some refs to '[email protected]:{username}/{projectname}.git'

À moins que vous ne généralisiez le message d'erreur, il semble que vous le mettiez littéralement en [email protected]:{username}/{projectname}.gittant que dépôt Git distant. Vous {username}devez renseigner votre nom d'utilisateur GitHub et {projectname}le nom de votre projet.

mipadi
la source
1
cd  app 

git init 

git status 

touch  test 

git add . 

git commit  -a  -m"message to log " 

git commit  -a  -m "message to log" 

git remote add origin 

 git remote add origin [email protected]:cherry 

git push origin master:refs/heads/master

git clone [email protected]:cherry test1
shrikant
la source
1

J'ai eu le même problème. J'avais créé par erreur un répertoire dans la machine en minuscules. Une fois le cas modifié, le problème est résolu (mais j'ai perdu mes 1,5 heures :() Vérifiez le nom de votre répertoire et le nom du dépôt distant est le même.

saathi
la source
1

Il semble que cette question a déjà un certain nombre de réponses, mais je vais peser avec la mienne puisque je n'en ai vu aucune qui aborde le problème que j'avais.

J'ai également eu cette erreur sur un tout nouveau référentiel github. Il s'avère que l'utilisateur à partir duquel je poussais n'avait pas d'accès push. Pour une raison quelconque, cela entraîne une erreur "ERREUR: référentiel introuvable" au lieu d'une sorte d'erreur d'accès.

Quoi qu'il en soit, j'espère que cela aidera la pauvre âme qui se heurte au même problème.

À M
la source
1

a eu le même problème il y a une minute et l'a ensuite résolu

créer un référentiel dans github appelé wordpress ...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin [email protected]:{username}/wordpress.git
git push -u origin master

cela devrait fonctionner pour résoudre le problème de refspec

David Chase
la source
Merci, ça marche pour moi .. puis-je savoir quelle est la différence entre "git add" et "git add -A"
Satish Karuturi
aucune différence si vous êtes sur la version 2.x n'a d'importance que si vous êtes sur la table de vérification 1.x pour la future réf: stackoverflow.com/a/26039014/640727
David Chase
0

J'ai mis par erreur un espace après le - donc au lieu de -m j'avais - m Juste quelque chose à chercher.

Brad Madigan
la source
0

Je pense que dans l'ancienne version de git, vous devriez d'abord valider au moins un fichier, puis vous pouvez à nouveau "pousser l'origine master".

deddihp
la source
0

super .. c'est le problème avec un répertoire vide seulement rien d'autre. J'ai résolu mon problème en créant un fichier binaire dans chaque répertoire, puis en les ajoutant.

Shailesh
la source
0

L'ajout et le commit initiaux ont fonctionné comme un charme. Je suppose que c'est juste une question de compréhension de la méthodologie de Git pour gérer un projet dans le référentiel.

Après cela, j'ai réussi à transférer mes données immédiatement sans tracas.

Matthew Morek
la source
0

Je viens de rencontrer ce problème, et cela semblait être dû au fait que je n'ajoutais pas de message de validation personnalisé au-dessus du message de validation par défaut (j'ai pensé, pourquoi écrire "commit initial", quand il dit clairement la même chose dans le texte généré par Git dessous).

Le problème a été résolu lorsque j'ai supprimé le répertoire .git, réinitialisé le répertoire du projet pour Git, ré-ajouté la télécommande GitHub, ajouté tous les fichiers à la nouvelle étape, validé avec un message personnel au-dessus du message généré automatiquement et poussé vers origine / maître.

2540625
la source
0

Lorsque vous créez un référentiel sur Github, il ajoute un fichier README.md au référentiel et puisque ce fichier peut ne pas être là dans votre répertoire local, ou peut-être qu'il pourrait avoir un contenu différent, git push échouerait. Pour résoudre le problème que j'ai fait:

git pull origin master
git push origin master

Cette fois, cela a fonctionné puisque j'avais le fichier README.md.

Sahil Singh
la source
0

Avant le premier commit, essayez d'ajouter un fichier comme readme.txt. Cela "forcera" le dépôt distant à créer le maître de branche au cas où cela n'existerait pas. Cela a fonctionné pour moi.

Everton ZP
la source
0

C'est une question très ancienne mais pour toutes les nouvelles personnes qui finiront ici comme moi. Cette solution est uniquement pour

error: src refspec master does not match any.

erreur pour le nouveau dépôt créé

Vous devez ajouter votre

git config user.email "your email"
git config user.name "name"

Seulement après avoir ajouté un e-mail et un nom, ajoutez des fichiers à git et commit

git add .
git commit -m "message"

Cela fonctionnera comme du charme

Pankaj
la source
0

J'ai aussi cette erreur, je mets un commit pour ne pas pousser un projet vide comme beaucoup de gens le font mais ne fonctionne pas

Le problème était le ssl, y mettre le suivant

git config --system http.sslverify false

Et après cela, tout fonctionne bien :)

git push origin master

Eduardo Chávez
la source
0

J'avais le même problème / erreur que git push -u origin masterje faisais à la place, je viens de le faire git push origin masteret cela a fonctionné.

Ali Akram
la source
0

allez dans le panneau de configuration -> gérez vos informations d'identification et supprimez les informations d'identification github le cas échéant.

sudip lahiri
la source
0

Cogner un vieux fil.

Si vous avez créé un référentiel sur Github avec a Readmeou a .gitignore, vous devrez peut-être rebaser le maître local avec le maître distant. Parce que, si vous utilisez un outil de génération de projets, comme create-app, il crée ces fichiers pour vous, et le maître distant doit être synchronisé avec votre local avant de pousser.

Si vous créez un référentiel vide sur Github, vous pouvez simplement pousser.

Rutwick Gangurde
la source
-1

J'ai eu le même problème, certains utilisateurs y ont répondu. Avant de pousser, vous devez avoir votre premier commit. Maintenant, pour les nouveaux utilisateurs, j'ai créé une série d'étapes simples. Avant cela, vous devez installer git et l'exécuter en ligne de commande:

  • git config user.email "votre email"
  • git config user.name "nom"

Les étapes de création d'un référentiel distant (j'utilise dropbox comme référentiel distant):

1. create a directory in Dropbox (or on your remote server)
2. go to the Dropbox dir (remote server dir)
3. type git command: git init --bare
4. on your local drive create your local directory
5. go to local directory
6. type git command: git init
7. add initial files, by typing git command:: git add <filename> 
8. type git command: git commit -a -m "initial version" (if you don't commit you can't do the initial push
9. type git command: git remote add name <path to Dropbox/remote server> 
10. git push name brach (for first commit the branch should be master)
lara
la source