3529

私は自分のリポジトリをクローンします:

git clone ssh://xxxxx/xx.git 

しかし、いくつかのファイルを変更した後addcommitそれらをサーバーにプッシュしたいと思います。

git add xxx.php
git commit -m "TEST"
git push origin master

しかし、私が返すエラーは次のとおりです。

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

116 に答える 116

5042

多分あなたはただコミットする必要があります。私がやったときにこれに遭遇しました:

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

おっとっと!コミットしたことはありません!

git push -u origin master
error: src refspec master does not match any.

私がしなければならなかったのは:

git commit -m "initial commit"
git push origin master

成功!

于 2011-09-27T16:07:11.757 に答える
1494
  1. git show-refあなたが持っているrefを見てみてください。ありrefs/heads/masterますか?

最近の「GitHubでマスターをメインに置き換える」アクションにより、が存在することに気付く場合がありrefs/heads/mainます。その結果、次のコマンドがからgit push origin HEAD:masterに変わる可能性がありますgit push origin HEAD:main

  1. git push origin HEAD:masterよりローカル参照に依存しないソリューションとして試すことができます。HEADこれは、ローカル参照をリモート参照にプッシュすることを明示的に示していますmastergit-push refspecのドキュメントを参照)。
于 2010-11-15T11:24:25.897 に答える
256

ローカル コンピューター上のすべてのファイルを削除した後も同様のエラーが発生したため、リポジトリ内のすべてのファイルをクリーンアップする必要があります。

私のエラーメッセージは次のようなものでした:

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

そして、次のコマンドを実行することで解決しました。

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.
于 2012-01-04T17:03:33.203 に答える
106

Git でディレクトリのみを追加した後、これが新しいリポジトリで発生したことがわかりました。

ファイル (例: README) を追加するとすぐに、Git プッシュがうまく機能しました。

于 2011-09-25T01:44:13.180 に答える
75

欠落またはスキップしているgit add .か、次のgit commitエラーが発生する可能性があります:

git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://yourusername@github.com': 
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourusername/foobar.git'

これを修正するには、再初期化して適切な手順に従います。

git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master
于 2012-11-03T20:30:07.737 に答える
68

これを修正するには、再初期化して適切なコード シーケンスに従います。

git init
git add .
git commit -m 'message'
git push -u origin master
于 2015-01-12T17:30:24.933 に答える
57

これは、特定のブランチにいて、まだ存在していない別のブランチをプッシュしようとした場合にも発生します。

$ 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'
于 2012-05-23T17:43:32.957 に答える
57

私は同じ問題に直面し、使用しました--allow-empty

$ git commit -m "initial commit" --allow-empty
...
$ git push
...

補足

この問題の主な理由の 1 つは、BitBucket などの一部の Git サーバーではmaster、新しいリポジトリがクローンされたときにブランチが初期化されないことです。

于 2018-10-25T01:33:56.333 に答える
47

私は数日前に同じ問題に直面しました。

最近 (2020) に新しいリポジトリを作成した場合、デフォルトのブランチはGitHubのメインです。

リポジトリ ブランチで GitHub を確認できます。

次のコマンドを実行して、ターミナルでブランチを確認することもできます。

git branch

だからあなたは走る必要があるのです

git push origin main

それ以外の

git push origin master

幸運を

于 2020-12-16T18:47:15.477 に答える
31

git add .コマンドの後にコマンドを忘れた可能性がありgit initます。

于 2019-04-25T14:37:35.677 に答える
28

GitHub アップデート 01.10.20 以降は、master の代わりに main を使用する必要があります。

このようにして...

  1. Create a repository on GitHub
  2. ローカル ディレクトリにある既存の.gitファイルを削除する
  3. ローカル プロジェクト ディレクトリに移動し、次のように入力します。git init
  4. git add .
  5. git commit -m"My First Commmit"
  6. masterローカルプロジェクトにあるブランチ名を確認してください
  7. git remote add origin <remote repository URL past here from the github repository>次に入力しますgit remote -v
  8. git push -f origin master
  9. github リポジトリを確認すると、2 つのブランチ 1. 2. が表示されますmainmaster
  10. ローカル リポジトリで新しいブランチを作成すると、ブランチ名はmain
  11. git checkout main
  12. git merge master
  13. git pull origin main
  14. git push -f origin main

注: 01.10.20 から githubはブランチmainの代わりに使用することを決定し、masterデフォルトのブランチ名を使用します

于 2020-10-09T16:17:39.683 に答える
27

私の問題は、「マスター」ブランチがまだローカルに作成されていないことでした。

クイック

git checkout -b "master"

master ブランチを作成し、その時点で簡単に

git push -u origin master

作業を Git リポジトリにプッシュしました。

于 2014-12-12T19:38:50.907 に答える
27

最初のコミットを追加するだけです。次の手順を実行します:

  • git add .

  • git commit -m "initial commit"

  • git push origin master

これは私にとってはうまくいきました。

于 2017-12-28T07:02:24.600 に答える
21

私は同じ問題に直面しました、

私の問題を解決しました。

ブランチを作成するだけです:

git checkout -b "master"

その後

git push -u origin master

ボム。

それが解決されることを願っています。

于 2021-06-02T11:01:48.417 に答える
20

これは、最初のコミットを行うのを忘れたことを意味します。試してみてください

git add .
git commit -m 'initial commit'
git push origin master
于 2014-05-04T14:18:13.233 に答える
20

以下のようにGitHubの指示にも従いましたが、OPで言及されているのと同じエラーに直面しました:

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

私にとって、これがいくつかの助けになることを願っています(1.58 GB on disk).MacOSに大きなファイルをプッシュしていました。上記の提案されたコード行をコピーして貼り付けている間、プロセッサーが実際にadd .プロセスを終了するのを待っていませんでした。そのため、入力git commit -m "message"したとき、基本的にファイルを参照せず、コードを GitHub に正常にコミットするために必要なことを完了していません。

これの証拠は、git status通常、入力したときに、追加されたファイルの緑色のフォントが表示されることです。しかし、すべてが赤でした。あたかもそれがまったく追加されなかったかのように。

なので手順をやり直しました。入力git add .して、ファイルの追加が完了するのを待ちました。次に、次の手順に従いました。

于 2019-03-22T16:16:39.150 に答える
19

これは、ファイルを追加し、コミットしてプッシュするのを忘れた場合に発生します。したがって、ファイルをコミットしてからプッシュします。

于 2011-12-03T13:29:12.727 に答える
19

デタッチド HEAD モードで作業中にこのエラーが発生した場合は、次のようにします。

git push origin HEAD:remote-branch-name

参照:デタッチされたヘッドからの Git プッシュの作成

リモート ブランチとは異なるローカル ブランチにいる場合は、次の操作を実行できます。

git push origin local-branch-name:remote-branch-name
于 2018-03-02T14:36:18.500 に答える
17

私は同じ問題に直面していて、ここでほとんどの回答を試しましたが、問題は Github の名前変更の最近の変更によるものでした。

GitHub は、リポジトリのデフォルト ブランチの名前を徐々に からmasterに変更していますmain

https://github.com/github/renaming

新しいコマンドは次のようになります。

git push origin main

これの代わりに :

git push origin master
于 2020-10-16T11:07:51.263 に答える
15

私も同じ問題を抱えていました。私は次の手順でそれを行いました:

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
于 2015-12-05T11:58:15.733 に答える
13

これは、プッシュしようとしているブランチ名にタイプミスがある場合にも発生します。

于 2013-10-08T15:48:33.853 に答える
12

git init最初のコミットを実行してプッシュした後でもこの問題に直面している場合。その後、次のことを試すことができます。

git checkout -b "new branch name"
git push origin "new branch name"

コードは新しいブランチとしてプッシュされます。

于 2016-12-10T10:21:39.430 に答える
10

Git を初めて使用する場合は、次のように構成する必要があります。

git config --global user.email "you@example.com"

git config --global user.name "Your Name"
于 2012-10-30T05:48:48.860 に答える
10

Github はデフォルトのブランチ名を からmasterに変更しましたmain。最近レポを作成した場合は、mainブランチをプッシュしてみてください

git push origin main

Github 記事

于 2020-10-30T06:20:51.647 に答える
7

これは私にとってはうまくいき、リポジトリをリモートマスターにリセットしました:

git checkout master
git commit -a -m "your comment"
git push origin master
于 2014-01-17T09:24:07.103 に答える
7

ローカル ブランチ名が、作成しようとしていた新しいリモート ブランチと一致しなかったため、このエラーが発生していましたgit push origin <<branchname>>

于 2015-08-21T01:14:58.743 に答える
6

この問題の別の考えられる原因は、ブランチ名のスペルを間違えた場合です。したがって、私がしたことをした場合、問題は次のように修正することで修正されます。

git push origin mater

git push origin master
于 2015-07-17T14:29:14.473 に答える
5

これは、オリジンのマスター ブランチを参照しなかったときに発生しました。したがって、次のことを試すことができます。

git pull origin master

これにより、ローカル リポジトリ内のオリジンのマスター ブランチへの参照が作成されます。その後、ローカル リポジトリをオリジンにプッシュできます。

git push -u origin master
于 2016-01-03T22:20:00.430 に答える
5

たぶん、GitHub はあなたが誰であるかを知りません。

最初に実行する必要があります:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
于 2018-11-24T05:13:46.743 に答える
5

無効なブランチをプッシュしたためだと思います。

通常、リポジトリには共通のマスター ブランチ (おそらく開発ブランチ) がないためです。使用できます

git branch

枝を見る。

于 2012-11-26T02:11:05.167 に答える
5

今月の理由の 1 つはおそらく次のとおりです。github がデフォルトの「マスター」ブランチを「メイン」ブランチに名前変更しました。したがって、git push origin main代わりに使用してください。

于 2020-10-20T08:40:30.547 に答える
5

以前の回答に更新します。

また、github が 'Master' を 'Main' に変更したことを忘れないでください。

git push origin main
于 2020-10-23T18:44:41.407 に答える
4

オリジンで新しいブランチをリモートで作成する場合は、最初に同じブランチをローカルで作成する必要があります。

$ git clone -b new-branch
$ git push origin new-branch
于 2012-11-07T23:21:43.787 に答える
4

私はすでにコミットを作成していました。正しいブランチにプッシュしていることを確認してください。

と入力していましたが、入力git push origin masterしたときgit branchは v1 ブランチにいたため、と入力する必要がありましたgit push origin v1

于 2014-03-13T18:48:41.327 に答える
4

間違ったディレクトリにファイルを作成して実行しようとしたgit push -u origin masterところ、エラーが発生しました。

cd現在のディレクトリに移動したら、git push -u origin masterを実行します。すべて問題ありません。

于 2016-01-10T17:45:20.523 に答える
4

まず、独自の .git ファイルを作成する必要がありgit initます。そうしないと、誰かの git フォルダーを複製すると、git 資格情報が認識されません。git を起動したら、次の手順に進みgit add.ますgit commit

于 2020-06-14T15:32:29.983 に答える
3

私は 1 つの GitHub リポジトリに貢献していたので、プロジェクトをフォークし、クローンを作成し、独自のブランチを作成し、いくつかのコミットを行い、プッシュしようとしました。

この時点で、自分のフォークではなく、元のプロジェクト リポジトリ (プッシュする権限がない) のクローンを作成したことがわかりました。

そこで、リポジトリ.git/configを指すように変更しました。origin

この時点で、プッシュしようとすると、エラーが発生していましたerror: src refspec my_awesome_branch does not match any.

私がしなければならなかったのは、任意のファイルに触れてコミットすることだけでした(この回答で見られるのと同様です):

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

その後:

git checkout master
git pull origin master
git push origin master # This will tell my remote repository about my new branch
git checkout my_awesome_branch
git push origin my_awesome_branch # Now it will work
于 2013-08-29T14:01:29.533 に答える
3

Android Studio で VCS を扱っているときに、まさにこの問題に直面しました。私がしなければならなかったのは、次のことだけでした。

  1. 「アプリ」フォルダーからすべてのファイルを選択します。
  2. VCS (上部のオプション) に移動します。
  3. ファイルを「追加」します。
  4. ターミナルを介して、またはドロップダウンメニューをクリックして再度コミットします。
  5. 押す!

ユーレカ!:D

于 2017-07-04T18:22:13.827 に答える
2

Git からのエラー:

エラー: src refspec マスターが一致しません。

この手順で修正:

git commit -m "first commit"

私が走る前に:

git add <files>

そして、私が走った後:

git push -u origin master
于 2015-04-23T15:27:05.997 に答える
2

Aryo の回答について: 私の場合、ローカル Git リポジトリの完全な URL を使用してファイルをプッシュする必要がありました。まず、現在のディレクトリ内のすべてのファイルを削除し、README を作成して追加しました。

さらにいくつか追加しました。次に、これらのファイルをコミットし、最後にそれらをプッシュして、リポジトリに適切な URL を指定しました。ここで yourrepository は、サーバー上のリポジトリの名前です。

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
于 2012-07-27T02:06:19.437 に答える
2

I too faced the same problem. But I noticed that my directory was empty when this error occurred. When I created a sample file and pushed again it worked. So please make sure before pushing that your folder is not empty!!

于 2019-10-12T04:31:40.787 に答える
1

src-refspec エラーが発生したとき、上記の解決策はどれもうまくいきませんでした。

私のワークフロー:

  • リモートブランチにプッシュ (同じローカルブランチ名)
  • そのリモートブランチを削除しました
  • いくつかのものを変更し、コミットしました
  • 同じリモート ブランチ名 (同じローカル ブランチ名) に再度プッシュ
  • src-refspec エラーが発生しました。

新しいブランチを作成して再度プッシュするだけでエラーを修正しました。 (奇妙なことに、単にブランチの名前を変更することはできませんでした - それは私に与えましたfatal: Branch rename failed.)

于 2012-09-19T18:40:31.947 に答える
1

私もこの問題を受け取りましたが、プッシュを行う前に誤ってサーバーをシャットダウンしたことが原因でした。これも同じエラーになります。

于 2014-09-29T12:59:07.163 に答える
1

この問題は、node_modules フォルダーを追加してコミットしたことが原因だと思います。

を使用するgit add .と、複数のファイルを追加しているかのように無限にスクロールできますか?

その場合、スクリプトを追加するだけでなく、サイズの大きい node_modules も追加しています。

最善の解決策は、.gitignoreファイルを作成し、その中に貼り付けること# dependencies /node_modulesです。

ファイルを追加すると、git はnode_modulesフォルダーを無視します。

于 2022-02-19T11:57:07.880 に答える
1

If it doesn't recognize that you have a master branch, just create it and commit again.

To create a master branch:

git checkout -b master
于 2018-09-24T18:33:10.263 に答える
1
  1. gitブランチ

  2. -mv フラグを使用してブランチの名前を変更します。

    git branch -mv origin master

この git ブランチの後、master が表示されます

于 2021-03-06T06:42:12.437 に答える
0

私の場合fastlane match nuke development(開発証明書とプロファイルを git 資格情報ストアと開発者ポータルから削除します) マスターをプッシュしようとしましたが、マスターがありません。2 つの異なるチームがあるため、2 つの異なるブランチもあります。問題を解決したのは、正しいブランチについて tell match を呼び出すことでした:

fastlane match --git_branch <your_branch> nuke development
于 2019-10-24T15:31:36.850 に答える
-1

私は非常に長いローカル ブランチ名を持っていました。

git branch -m new_shorter_branch_name

問題を修正しました。

于 2015-03-09T15:43:42.747 に答える