新しいリポジトリにオリジンマスターエラーをプッシュする


181

githubでgitを使い始めました。私は彼らの指示に従い、最後のステップでエラーに遭遇しました。現在ソース管理されていない既存のディレクトリをチェックインしています(約1週間前のプロジェクト)。それ以外は、私のユースケースは工場のかなりの実行でなければなりません。

これが起こっていることです:

$ 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 'git@github.com:{username}/{projectname}.git'

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 git@github.com:{username}/{projectname}.git
  git push origin master

4
最初のコミットが何らかの理由で機能しなかったようです。Gitログは、コミットが機能するかどうかを確認するのに役立ちました。翌日はまた成功しました。ありがとう!
2009年

1
ファイルを追加せず、git initをコミットまたは実行しないと、常にこの種の問題が発生します。したがって、常に実行git statusして、すべてが正常かどうかを確認します。
raduken 2012年

既存のコードから新しく作成されたgitリポジトリへのブランチを作成するときの同様のエラー。gitリポジトリのクローンを作成してエラーを解決しました。
user553620 2013年


githubへの「git push」時エラーの重複の可能性があります。

回答:


137

エラーメッセージはあなたが持っていないという結論につながります master、ローカルリポジトリにブランチます。メインの開発ブランチをプッシュするか(github上でgit push origin my-local-master:master名前を変更しますmaster)、または最初にコミットします。完全に空のリポジトリをプッシュすることはできません。


10
GitHub(beans.seartipy.com/2008/12/09/…)が参照する関連ガイドに「git commit -m 'first commit'」コマンドが記載されていないため、「空のリポジトリ」の問題がありました。私がそれを使用したら、すべて大丈夫でした!
パスカルリンデラウフ2009

3
変更をコミットするのを忘れたところです。
Nick Josevski、2012年

あなたが言うときgit push origin my-local-master:master、それはどういう意味で何をmy-local-master?私は私がプッシュする私のフォルダのCSS-PIXの名前がある場合
Nofel

187

私は同じ問題を抱えていて、実際にプロジェクトファイルを追加していなかったので、頭を悩ませました。

git add -A
git commit -am "message"
git push origin master

ええ、私は以下を試しましたが、私のための解決策は代わりにあなたのコマンドを使用することでした:git add *正しい構文はgit addでした。
エリックマーティンデール2010年

5
同じことをしました... ありがとう!
cbmeeks

28

同じ問題がありました。.gitフォルダを削除してから、次のコマンドを実行しました

  1. $ git init
  2. $ git add .
  3. $ git remote add origin git@gitorious.org:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master

9

同じ問題があります。それは私の問題を解決しました。gitを初期化する場合。あなたはターミナルでしなければなりません

1) git add .

2)git commit -m "first commit"

bitbucketへの送信用

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


6

私が初めてGitリポジトリを作成するときに同じ問題が発生しました。私はGitオリジンのリモート作成にタイプミスがありました-リポジトリの名前を大文字にしていないことがわかりました。

 git remote add origin git@github.com:Odd-engine

まず、古いリモートを削除しました

git remote rm origin

次に、オリジンを再作成し、オリジンのスペルと同じ方法でオリジンの名前を正確に入力したことを確認しました。

git remote add origin git@github.com:Odd-Engine

エラーはもうありません!:)


4

Bombeが私の設定にmasterという名前のローカルブランチがないと言ったので、私は同じエラーがありましたが、 git branch masterという名前のブランチをリストしているました...

修正するには、これを.git / configに追加します

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

ちょっとハッキーですが、仕事をします


3

少なくともマスターブランチのブランチにいることを確認してください

タイプ:

git branch

見るべき:

ubuntu-user:〜/ git / turmeric-releng $ gitブランチ

* (no branch)
master

次に、次のように入力します。

git checkout master

次に、すべての変更がマスターブランチ(またはuが選択したブランチ)に収まります


2

問題を実際に解決するために、次のコマンドを使用してすべてのファイルをコミットにステージングしました。

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

私が抱えていた問題は、git addの-uコマンドが実際に新しいファイルを追加せず、gitのインストールでgit add -Aコマンドがサポートされないことでした。したがって、このスレッドで述べたように、ステージングしようとしたコミットは空でした。


それは私のために働いた!私はあまりにも多くのコマンドを試してみましたが、何も変わっていません...しかし、これが私にとっての解決策でした!
karensantana 2013

1

問題を修正しました...

問題が何であったかはわかりませんが、gitxインターフェイスを使用してステージングされたファイルをコミットすると、...

$ git push origin master

働いた...

私は同じ問題を抱えています...

ボルトテンプレートファイルに追加された新しいフォルダを作成しました...

$ git commit -m 'first commit'

$ git remote add origin git@github.com:eltonstewart/band-of-strangers.git

$ git push origin master

その後、同じエラーが発生します...

エラー:src refspec masterは一致しません。
致命的:リモートエンドが予期せずハングアップし
ました:一部の参照を 'git@github.com:eltonstewart / band-of-strangers.git'にプッシュできませんでした


1
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

エラーメッセージを一般化しない限り、文字どおりgit@github.com:{username}/{projectname}.gitリモートGitリポジトリとして配置したように見えます。{username}GitHubのユーザー名と{projectname}プロジェクト名を入力する必要があります。


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 git@git.google.net:cherry 

git push origin master:refs/heads/master

git clone git@git.google.net:cherry test1

1

同じ問題がありました。小文字で誤ってマシンにディレクトリを作成しました。ケースを変更すると、問題は解決しました(ただし1.5時間は無駄になりました:()ディレクトリ名とリモートリポジトリ名が同じであることを確認してください。


1

この質問にはすでにいくつかの回答があるようですが、私が抱えていた問題に対処するものを見たことがなかったので、私はそれについて検討します。

新しいgithubリポジトリでもこのエラーが発生しました。プッシュ元のユーザーにはプッシュアクセス権がないことがわかりました。何らかの理由で、これにより、何らかのアクセスエラーではなく、「エラー:リポジトリが見つかりません」というエラーが発生します。

とにかく、これが同じ問題に遭遇する貧しい魂を助けることを願っています。


1

1分前に同じ問題があり、それを修正しました

githubにwordpressというリポジトリを作成します...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin git@github.com:{username}/wordpress.git
git push -u origin master

これはrefspecの問題を解決するために機能するはずです


私のために働いてくれてありがとう..「git add。」の違いは何ですか?および「git add -A」
Satish Karuturi '19

v 2.xを使用している場合、違いはありません。1.xを使用している場合にのみ重要です。将来の参照用のチェックテーブル:stackoverflow.com/a/26039014/640727
David Chase


0

古いバージョンのgitでは、少なくとも1つのファイルを最初にコミットしてから、もう一度「オリジンマスターをプッシュする」ことができると思います。


0

素晴らしい..空のディレクトリに関する問題のみです。各ディレクトリに1つのバイナリファイルを作成して問題を解決し、それらを追加しました。


0

初期の追加とコミットは魅力のように機能しました。リポジトリ内でプロジェクトを管理するGitの方法論を理解するだけの問題だと思います。

その後、私は何の問題もなくデータをすぐにプッシュすることができました。


0

この問題が発生したばかりで、デフォルトのコミットメッセージの上にカスタムコミットメッセージを追加しなかったことが原因のようです(Gitで生成されたテキストでまったく同じことが明確に示されているのに、なぜ「初期コミット」と書くのかわかりました)その下)。

.gitディレクトリを削除し、Gitのプロジェクトディレクトリを再初期化し、GitHubリモートを再度追加し、すべてのファイルを新しいステージに追加し、自動生成メッセージの上に個人メッセージをコミットして、起源/マスター。


0

Githubにリポジトリを作成すると、README.mdファイルがリポジトリに追加されます。このファイルがローカルディレクトリにないか、コンテンツが異なる可能性があるため、git pushが失敗する可能性があります。私がした問題を解決するために:

git pull origin master
git push origin master

今回は、README.mdファイルがあったので動作しました。


0

最初のコミットの前に、readme.txtのようなファイルを追加してみてください。これにより、リモートリポジトリが存在しない場合に備えてブランチマスターが作成されるように強制します。それは私に働きました。


0

これは非常に古い質問ですが、私のようにここに来るすべての新しい人々のために。このソリューションは

error: src refspec master does not match any.

作成された新しいリポジトリのエラー

追加する必要があります

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

メールと名前を追加した後にのみ、ファイルをgitに追加してコミットします

git add .
git commit -m "message"

それは魅力のように働きます


0

私にもこのエラーがあります。多くの人のように空のプロジェクトをプッシュしないようにコミットしましたが、機能しません

問題はsslで、次は

git config --system http.sslverify false

そしてその後すべてがうまくいきます:)

git push originマスター


0

私は同じ問題/エラーを抱えていました。git push -u origin master代わりに私はやっていましたが、うまくいきgit push origin masterました。



0

古いスレッドをバンピングします。

Githubにリポジトリを作成したReadme場合は、.gitignore、ローカルマスターをリモートマスターにリベースする必要がある場合があります。なぜなら、create-appなどのプロジェクトスキャフォールディングツールを使用している場合は、これらのファイルが作成され、プッシュする前にリモートマスターをローカルと同期する必要があるためです。

Githubに空のリポジトリを作成する場合は、単純にプッシュできます。


-1

私は同じ問題を抱えていました、何人かのユーザーはこれに答えました。プッシュする前に、最初のコミットが必要です。新しいユーザーのために、一連の簡単な手順を作成しました。その前にgitをインストールしてコマンドラインで実行する必要があります:

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

リモートリポジトリを作成する手順(私はDropboxをリモートリポジトリとして使用しています):

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)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.