web-dev-qa-db-fra.com

src refspec master ne correspond à aucun lorsque pousser commet dans git

J'ai cloné mon référentiel avec:

git clone ssh://xxxxx/xx.git 

mais après avoir modifié certains fichiers et les add et commit je veux les envoyer au serveur

git add xxx.php
git commit -m "TEST"
git Push Origin master

Mais l'erreur que je reçois est la suivante:

error: src refspec master does not match any.  
error: failed to Push some refs to 'ssh://xxxxx.com/project.git'
2114
sinoohe

Peut-être avez-vous juste besoin de vous engager. Je suis tombé dessus quand je l'ai fait:

mkdir repo && cd repo
git remote add Origin /path/to/Origin.git
git add .

Oops! Jamais engagé!

git Push -u Origin master
error: src refspec master does not match any.

Tout ce que je devais faire était:

git commit -m "initial commit"
git Push Origin master

Succès!

3339
baisong
  1. Essayez git show-ref pour voir quelles références vous avez. Y a-t-il refs/heads/master?

  2. Vous pouvez essayer git Push Origin HEAD:master comme solution plus indépendante de la référence locale. Cela indique explicitement que vous voulez pousser la référence locale HEAD vers la référence distante master (voir le git-Push refspec documentation).

659
Vi.

J'ai également eu une erreur similaire après la suppression de tous les fichiers de mon ordinateur local et je dois nettoyer tous les fichiers du référentiel.

Mon message d'erreur ressemblait à ceci:

error: src refspec master does not match any.
error: failed to Push some refs to 'git@github ... .git'

et cela a été résolu en exécutant les commandes suivantes:

touch README
git add README

git add (all other files)
git commit -m 'reinitialized files'
git Push Origin master --force  # <- caution, --force can delete others work.

Ça y est, espérons que cela aide.

198
Aryo
  1. Mes modifications étaient déjà validées
  2. Force Push m'a toujours donné la même erreur. 

J'ai donc essayé la solution de Vi :

git Push Origin HEAD:<remoteBranch> 

Cela a fonctionné pour moi.

165
tldr

Pour moi, je devais m'assurer que la clé publique est correctement configurée sur le serveur (ajoutée dans ~/.ssh/registered_keys) et dans github/bitbucket (ajoutée à mes clés SSH sur github ou bitbucket) - ils doivent rencontre.

Ensuite:

git add --all :/

git commit -am 'message'

git Push -u Origin master

Travaillé pour moi à la fin. 

102
Red
git Push -u Origin master
error: src refspec master does not match any.

Pour cela, vous devez entrer le message de validation comme suit, puis appuyez sur le code.

git commit -m "initial commit"

git Push Origin master

Poussé avec succès à maîtriser

101
VIKAS KOHLI

J'ai trouvé cela arrivé dans un tout nouveau dépôt après avoir ajouté un répertoire seulement. 

Dès que j'ai ajouté un fichier (par exemple, un fichier LISEZMOI), git Push a bien fonctionné.

64
Andrew E

Manquer ou sauter git add . ou git commit peut être à l'origine de cette erreur:

git Push -u Origin master
Username for 'https://github.com': yourusername
Password for 'https://[email protected]': 
error: src refspec master does not match any.
error: failed to Push some refs to 'https://github.com/yourusername/foobar.git'

Pour le réparer, réinitialisez et suivez la séquence appropriée:

git init
git add .
git commit -m 'message'
git *create remote
git Push -u Origin master
63
aug2uag

Pour résoudre ce problème, réinitialisez et suivez la séquence de code appropriée:

git init
git add .
git commit -m 'message'
git Push -u Origin master
58
pratik kumar

Assurez-vous d’avoir ajouté d’abord, puis commettez/Push:

Comme:

git init
git add .
git commit -m "message"
git remote add Origin "github.com/your_repo.git"
git Push -u Origin master
48
Saurabh Singh

Cela se produit également lorsque vous êtes dans une branche spécifique et que vous essayez de pousser une autre branche qui n’existe pas encore, telle que:

$ git branch
* version-x  # you are in this branch
  version-y

$ git Push -u Origin master
error: src refspec master does not match any.
error: failed to Push some refs to 'Origin_address'
41
wilsonfoz

ajoutez juste un commit initial, suivez les étapes: -

  • git add.

  • git commit -m "initial commit"

  • maître git Push Origin

    Cela a fonctionné pour moi 

25
NeeruSingh

Mon problème était que la branche «maître» n'avait pas encore été créée localement.

Un rapide 

git checkout -b "master" 

créé la branche maître, à quel point, un rapide:

git Push -u Origin master

Poussé le travail au git repo.

17
Antoine
  1. premier git ajouter.
  2. deuxième git commit -m "message"
  3. troisième branche de git Push Origin s'il vous plaît vérifier les fautes d’orthographe car cela pourrait aussi donner cette erreur.
17
Alwan Mortada

Cela signifie simplement que vous avez oublié de faire le commit initial, essayez

git add .
git commit -m 'initial commit'
git Push Origin master
17
xuri

J'ai rencontré le même problème et j'ai utilisé --allow-empty.

$ git commit -m "initial commit" --allow-empty
...
$ git Push
...
16
Jin Kwon

J'ai eu le même problème quand j'ai raté de courir:

git add .

(Vous devez avoir au moins un fichier ou vous obtiendrez à nouveau l'erreur)

15
neoDev

J'ai le même problème. Je le fais en suivant les étapes

1. git commit -m 'message'
2. git config --global user.email "your mail"
3. git config --global user.name "name"
4. git commit -m 'message'
5. git Push -u Origin master

J'espère que ça aidera n'importe qui

12
user3051460

Cela se produit lorsque vous avez ajouté votre fichier, oublié de valider et de pousser. Alors, validez les fichiers, puis Push. 

12
user993563

git add.

est tout ce dont vous avez besoin que ce code dépiste tous les fichiers non-suivis dans votre répertoire 

11
HuntsMan

Si vous obtenez cette erreur lorsque vous travaillez en mode détaché HEAD, vous pouvez procéder comme suit:

git Push Origin HEAD:remote-branch-name

Voir aussi: faire un git Push depuis une tête détachée

Si vous êtes sur une branche locale différente de la branche distante, vous pouvez procéder comme suit:

git Push Origin local-branch-name:remote-branch-name
10
snap

Si vous rencontrez ce problème même après avoir fait git init et poussé votre commit initial. Vous pouvez l'essayer comme suit,

git checkout -b "new branch name"
git Push Origin "new branch name"

Votre code sera poussé comme nouvelle branche.

9
Govind

Cela se produira également si vous avez une faute de frappe dans le nom de la branche que vous essayez de pousser.

9
Gavin

Vous devez configurer votre git si c'est la première fois que vous l'utilisez avec:

git config --global user.email "[email protected]"

git config --global user.name "Your Name"
8
asdasd

On m'avait oublié de faire un "git pull Origin Master" après la validation et avant Push et le même problème se posait: "src refspec master ne correspond à aucun lorsqu’on envoie des commits dans git" . Alors, ce que vous devriez faire est de :

1. git add .
2. git pull Origin master
3. git commit -am "Init commit"
4. git Push Origin master
8
Lackeeee

J'ai également suivi les instructions de github comme suit ci-dessous, mais je suis toujours confronté à la même erreur que celle mentionnée par OP:

git init git add . git commit -m "message" git remote add Origin "github.com/your_repo.git" git Push -u Origin master

Pour moi, et j'espère que cela en aidera quelques-uns, je poussais un fichier (1.58 GB on disk) volumineux sur mon MacOS. Lors du copier-coller de la ligne de codes suggérée ci-dessus, je n’attendais pas que mon processeur termine réellement le processus add .. Ainsi, lorsque j'ai tapé git commit -m "message", il ne faisait fondamentalement référence à aucun fichier et n'avait pas terminé ce qu'il devait faire pour réussir la validation de mon code dans github.

La preuve en est lorsque j'ai tapé git status en général, les polices vertes sont ajoutées aux fichiers ajoutés. Mais tout était rouge. Comme si ce n'était pas ajouté du tout.

Alors j'ai refait les marches. Saisissez git add . et attendez que les fichiers aient été ajoutés. Suivez ensuite les étapes suivantes.

J'espère que ça aidera quelqu'un.

7
Gel Sisaed

Dans le scénario dans lequel vous extrayez un référentiel d'une source externe, .__ et souhaitez l'importer dans un système personnel/interne, cette commande apparaît vraiment:

git Push --all Origin

Cela pousse toutes les branches, sans vérifier les références, en insistant sur les commits.

7
d.raev

Essaye ça:

git add .

git commit -m "your commit message"

git remote add Origin *remote repository URL*

git Push Origin *your-branch-name*
7
Palak Jain

A fait face au même problème, mais dans mon cas, en suivant les étapes exactes du début comme indiqué sur la page lorsque vous créez un nouveau référentiel a fonctionné Il suffit de coller ça ici

  echo "# YYYY" >> README.md
  git init
  git add README.md
  git commit -m "first commit"
  git remote add Origin https://github.com/XXXX/YYYY.git
  git Push -u Origin master

Tapez ce qui précède dans GitBash XXXX étant le nom d'utilisateur et YYYY le nom du référentiel.

6
Anubhav Pandey

J'ai eu ce problème en ajoutant un répertoire vide. Git ne permet pas de pousser le répertoire vide. Voici une solution simple.

Créez le fichier .gitkeep dans le répertoire que vous voulez envoyer à distance et validez le répertoire "vide" à partir de la ligne de commande:

touch your-directory/.gitkeep
git add your-directory/.gitkeep
git commit -m "Add empty directory"
6
Rajesh Khadka

Je recevais cette erreur parce que mon nom de branche local ne correspond pas à la nouvelle branche distante que je tentais de créer avec git Push Origin <<branchname>>.

6
Amalgovinus

vérifiez votre titre de commit car si vous oubliez la commande git commit -m "xxxx", vous rencontrez le même problème

git commit -m "initial commit"
6
Ferhat KOÇER

Cela a fonctionné pour moi de réinitialiser à distance le repo

git checkout master
git commit -a -m "your comment"
git Push Origin master
6
Giulio Roggero

Je pense que c'est parce que vous avez poussé une branche non valide. Généralement parce que le référentiel n'a pas de branche maître commune (peut-être une branche de développement). Vous pouvez utiliser branche gitpour voir les branches.

5
Zhengming Ying

seulement commettre résolu cette erreur.

git commit -m "first commit"
5
Omid Ahmadyani

Une autre cause possible de ce problème est si vous mal orthographiez le nom de la branche. Donc, si vous faites ce que j'ai fait, le problème sera résolu en corrigeant:

git Push Origin mater

à 

git Push Origin master
5
jcw

Si vous souhaitez créer une nouvelle branche à distance dans l’origine, vous devez d’abord créer la même branche localement:

$ git clone -b new-branch
$ git Push Origin new-branch
4
Vojtech Vitek

J'ai le même problème et corrige le mien à l'étape suivante: 

j'espère que ça aide

4
Gujarat Santana

Cela m'est arrivé lorsque je ne me suis pas référé à la branche maîtresse de l'Origin. Donc, vous pouvez essayer ce qui suit:

git pull Origin master

Cela crée une référence à la branche principale de l'origine dans le référentiel local. Ensuite, vous pouvez transférer le référentiel local vers l’origine.

git Push -u Origin master
4
ihayet

J'ai eu une erreur similaire. Mais git me dit:

*** Please tell me who you are.

Courir

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

Ou pour définir l'identité par défaut de votre compte.

Omit --global to set the identity only in this repository.

Alors l'erreur disparaît.

4
Paket2001

Vérifiez que vous avez bien choisi le bon nom de branche. J'ai rencontré la même erreur et après avoir regardé git show-ref, j’ai pu voir que j’étais en train de le taper mal, donc pas de réf.

4
rabbitwerks

Le problème que j'ai eu était en essayant de réinitialiser mon référentiel. Je voulais effacer tout l'historique et ne rien commettre. Cependant, vous devez au moins ajouter quelque chose à commettre. Je viens donc de créer un fichier texte vide, git add ., puis git commit -m "Reset repository".

3
Sina Madani

Vous avez probablement oublié la commande "git add." après la commande "git init".

3
Sumer

Vieux sujet, mais j'avais ce problème et voulais partager mon expérience. J'avais déjà créé un commit. 

Assurez-vous que vous poussez vers la bonne branche

Je tapais git Push Origin master mais quand j'ai tapé git branch j'étais sur une branche v1, je devais donc taper git Push Origin v1

3
espradley

J'ai créé les fichiers dans un mauvais répertoire et j'ai essayé de faire git Push -u Origin master et j'ai eu l'erreur Une fois que j'ai cd dans le répertoire actuel, git Push -u Origin master tout va bien.

3
Ali

J'ai fait face à ce problème exact lorsque je travaillais avec VCS dans Android Studio. Il s'avère que tout ce que j'avais à faire était:

  1. Sélectionnez tous les fichiers du dossier "app";
  2. Aller à VCS (Option en haut);
  3. "Ajouter" les fichiers;
  4. S'engager à nouveau via un terminal ou en cliquant dans le menu déroulant, et;
  5. Pousser! 

Eureka! :RÉ

2
Dimpy Chhabra

Je contribuais à un dépôt github, j'ai donc créé le projet, je l'ai cloné, créé ma propre branche, fait des commits et essayé de pousser. À ce stade, j'ai découvert que je n'avais pas cloné mon fork, mais le référentiel de projet d'origine (pour lequel je n'ai pas l'autorisation de Push). 

J'ai donc changé le .git/config pour pointer Origin vers mon dépôt.

à ce moment-là, lorsque j'ai essayé de pousser, je recevais l'erreur error: src refspec my_awesome_branch does not match any.

Tout ce que je devais faire était de toucher n’importe quel fichier et de le valider (comme vous le voyez dans cette réponse

git touch README
git commit -m "fixing error in my git repo"

et que: 

git checkout master
git pull Origin master
git Push Origin master # this will tell my remote repo about my new branch
git checkout my_awesome_branch
git Push Origin my_awesome_branch # now it will work
2
equivalent8

Peut-être que github ne sait pas qui vous êtes.

vous devez d’abord exécuter: git config --global user.email "[email protected]" git config --global user.name "Your Name"

1
Amir.S

@Aryo Dans mon cas, j'ai dû utiliser l'URL complète de mon référentiel git local pour envoyer le fichier. D'abord, j'ai supprimé tous les fichiers du répertoire actuel. Créé README l'a ajouté. Ajouté un peu plus. Ensuite, j'ai validé ces fichiers et les ai enfin poussés en donnant l'URL appropriée au référentiel. Yourrepository est le nom du référentiel sur le serveur.

rm -rf *

touch README
git add README
touch file1 file2
git add file1 file2

git commit -m "reinitialized files"
git Push git@localhost:yourrepository.git master --force
1
Pramod

Erreur de git: erreur: src refspec master ne correspond à aucun.

résolu avec cette étape: git commit -m "first commit"

avant de courir: git add

et après j'ai couru: git Push -u Origin master

!!!

1
adrian filipescu

Travaille pour moi

Juste la branche principale de caisse

git checkout -b master
git add .
git Push Origin master 

Ou utilisez --force pour le changement de force

git Push Origin master --force
1
Sohail

Je suis attrapé cette "erreur: src refspec master ne correspond à aucun.".

git Push -u Origin branch-name - helped me up to date my local files
1
discipleartem

J'ai eu le même problème et j'ai également découvert que je n'avais commis aucun fichier. Ainsi, lorsque j'essaye de le réutiliser, ce message d'erreur

*** Please tell me who you are.

Run

 git config --global user.email "[email protected]"
 git config --global user.name "Your Name"

 to set your account's default identity.
 Omit --global to set the identity only in this repository.

 fatal: unable to auto-detect email address (got 'USER@WINDOWS-HE6I2CL.(none)')

alors tout ce que je fis fut d'ajouter mon email et mon nom globalement, puis à nouveau

git commit -m 'Initial commit'

puis poussé

git Push -u Origin master

J'espère que ça aide

1
samezedi

J'ai eu un nom de branche locale extrêmement long. 

git branch -m new_shorter_branch_name

résolu le problème.

1
Scotty.NET

Dans mon cas, j'ai oublié d'inclure le fichier .gitignore. Voici toutes les étapes requises:

  1. Créez un dépôt Git vide sur la télécommande,
  2. Sur local, créez le fichier .gitignore pour votre projet. Github vous donne une liste de exemples ici
  3. Lancez un terminal et effectuez les commandes suivantes dans votre projet:

    git remote add Origin YOUR/Origin.git

    git add .

    git commit -m "initial commit or whatever message for first commit"

    git Push -u Origin master

1
Ismail H

Dans mon cas, j'ai cloné le référentiel mais je ne suis pas passé à la branche localement

j'ai résolu en faisant cela

avant de faire des changements dans le code, vous devriez le faire git checkout branch-name

puis apportez des modifications à votre code

après cela, appuyez sur le code pour créer une branche git Push -u Origin branch-name

1
Laxminarayan Nayak

J'ai aussi reçu ce problème, mais c'est parce que j'ai accidentellement éteint mon serveur avant de lancer le Push. Cela aussi provoquera la même erreur.

0
arush436

Pour les utilisateurs de Bash dans Cmder sous Windows, veillez à créer un nouveau dossier .ssh dans votre nouveau répertoire de base. 

1) Allez dans votre répertoire personnel cd ~

2) Générez les clés ssh ssh-keygen.

3) Laisser toutes les entrées vierges (continuer d'appuyer sur Entrée)

4) Copiez le fichier id_rsa.pub dans votre Github> Paramètres> Clés SSH

0
Janac Meena

Aucune des solutions ci-dessus n'a fonctionné pour moi lorsque j'ai eu l'erreur src-refspec. Mon flux de travail:

  • poussé vers une branche distante (même nom de branche locale) 
  • supprimé cette branche distante 
  • changé certaines choses et commis 
  • repoussé vers le même nom de branche distante (même nom de branche locale) 
  • vous avez une erreur src-refspec.

Correction d'une erreur simplement en créant une nouvelle branche et en appuyant à nouveau. (Ce qui était bizarre, je ne pouvais tout simplement pas renommer la branche - m'a donné fatal: le changement de nom de branche a échoué)

0
aimango

si vous avez du code Visual Studio

  1. supprimez le dossier .git si vous n'avez pas besoin de modifications pour effectuer le suivi (si oui, git stash)
  2. git init
  3. git commit -m "premier commit"
  4. git remote add Origin https://github.com/YOURusername/YOURrepo.git
  5. par Visual Studio Code UI IDE contrôle de source GOTO à partir du panneau latéral gauche ou (Ctrl + Maj + G)
  6. mettre en scène tous vos changements ou une partie
  7. commettre vos modifications
  8. Synchronisez vos modifications avec le bouton en bas à gauche (comme un numéro ou une icône de nuage) .__, alors visual studio vous demande de saisir votre nom d’utilisateur et votre mot de passe

si vous avez la permission de repo, vous pouvez voir:

> git Push -u Origin master
Fatal: AggregateException encountered.
To https://github.com/your_account/yourrepo.git
 * [new branch]      master -> master
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/Origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
> git show :ionic.config.json
> git check-ignore -z --stdin
0

J'ai eu cette erreur et c'était un problème avec le nom de la branche car j'ai utilisé le caractère "&" . Je viens de sauter par "^ &" et cela a fonctionné.

0
M. Dhaouadi

Dans mon cas, le problème, survenu sous Windows, semblait avoir quelque chose à voir avec le fait que nous ajoutions un préfixe tel que feature\ aux noms de branche. Nous essayions de créer et de pousser une branche avec un tel préfixe (par exemple, feature\branch), mais il y avait déjà une branche différente, avec un nom différent précédé de Feature\ (par exemple, Feature\otherbranch). Cela signifie que sous Windows, la nouvelle branche a été placée dans le même dossier refs\heads\Feature. Git peut être sensible à la casse, mais pas le système de fichiers Windows. Cela nous a aidé une fois que nous avons vérifié la branche locale nommée Feature\branch.

0
kamilk

Si vous utilisez Git Bash sous Windows, essayez de le redémarrer. Travaillé pour moi!

0
ExillustX

Problème de permission? Résolution Fork it

J'ai eu cette erreur parce que je n'avais pas d'autorisation Push dans le référentiel, donc je devais Fork le

0
MAX

Je viens de recevoir cette erreur en essayant d'insérer des éléments dans un nouveau dépôt sur GitHub. J'avais créé le référentiel git localement, et j'avais également créé le référentiel sur GitHub à l'aide de l'interface graphique Web (y compris un fichier LICENSE).

Le problème a disparu une fois que j'ai extrait le fichier LICENSE du dépôt GitHub, par ailleurs vide, dans mon dépôt local. Après cela, je pourrais pousser sans problèmes.

0
Thomas Jensen

Il ne reconnaît pas que vous avez une branche principale, créez-la et validez à nouveau.

Pour créer une branche principale:

git checkout -b master
0
oskarko