Dorong kesalahan master asal pada repositori baru

181

Saya baru mulai menggunakan git dengan github. Saya mengikuti instruksi mereka dan mengalami kesalahan pada langkah terakhir. Saya memeriksa direktori yang ada yang saat ini tidak dikontrol oleh sumber (memproyeksikan berusia sekitar satu minggu). Selain itu, kasing kasus saya harus cukup menjalankan pabrik.

Inilah yang terjadi:

$ 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'

Instruksi 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
sumber
4
Tampaknya komit awal tidak berfungsi karena alasan apa pun. Git log membantu saya melihat apakah komit berfungsi atau tidak. Saya berhasil mencobanya lagi pada hari berikutnya. Terima kasih!
sutee
1
Jika Anda tidak menambahkan file apa pun, komit atau jalankan git init, Anda selalu mendapatkan masalah seperti ini. Karena itu, selalu jalankan git statusuntuk melihat apakah semuanya baik-baik saja.
raduken
kesalahan serupa ketika membuat cabang ke repositori git yang baru dibuat dari kode yang ada. Mengatasi kesalahan dengan mengkloning repositori git.
user553620
Kemungkinan duplikat Kesalahan saat "git push" ke github .

Jawaban:

137

Pesan kesalahan mengarah pada kesimpulan bahwa Anda tidak memiliki mastercabang di repositori lokal Anda. Entah dorong cabang pengembangan utama Anda ( git push origin my-local-master:masteryang akan mengganti nama menjadi masterdi github) atau buat komit terlebih dahulu. Anda tidak dapat mendorong repositori yang benar-benar kosong.

Bombe
sumber
10
Saya mempunyai masalah "gudang kosong", karena panduan yang relevan direferensikan oleh GitHub ( beans.seartipy.com/2008/12/09/… ) tidak menyebutkan perintah "git commit -m 'first commit'". Setelah saya menggunakan itu, semuanya baik-baik saja!
Pascal Lindelauf
3
Saya baru saja lupa untuk melakukan perubahan saya.
Nick Josevski
Kapan Anda mengatakan git push origin my-local-master:masterapa maksudnya my-local-master? Jika saya memiliki nama CSS-pix dari folder saya yang ingin saya push
Nofel
187

Saya mengalami masalah yang sama dan kemudian memukul kepala saya karena saya belum benar-benar menambahkan file proyek saya.

git add -A
git commit -am "message"
git push origin master
Joey Green
sumber
Ya, saya sudah mencoba yang berikut ini, tetapi solusi bagi saya adalah dengan menggunakan perintah Anda sebagai gantinya: git add * Sintaks yang benar adalah: git add.
Eric Martindale
5
Apakah hal SAMA ... jeesh. Terima kasih!
cbmeeks
28

Saya memiliki masalah yang sama. Saya menghapus folder .git kemudian mengikuti perintah berikut

  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
sumber
9

Saya memiliki masalah yang sama. itu menyelesaikan masalah saya. Jika Anda init git Anda. Yang harus Anda lakukan di Terminal

1) git add .

2)git commit -m "first commit"

Untuk mengirim ke bitbucket

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

Erhan Demirci
sumber
6

Saya baru saja mengalami masalah yang sama saat membuat repositori Git pertama saya. Saya memiliki kesalahan ketik pada pembuatan jarak jauh asal Git - ternyata saya tidak menggunakan nama repositori saya.

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

Pertama saya menghapus remote yang lama menggunakan

git remote rm origin

Kemudian saya menciptakan kembali asal, memastikan nama asal saya diketik PERSIS dengan cara yang sama dengan asal saya dieja.

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

Tidak ada lagi kesalahan! :)

Technohazard
sumber
4

Saya memiliki kesalahan yang sama, seperti yang dikatakan Bombe bahwa saya tidak memiliki cabang bernama master di konfigurasi saya, walaupun git branchsaya membuat daftar cabang bernama master ...

Untuk memperbaikinya tambahkan saja ini ke .git / config Anda

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

Agak hacky tetapi melakukan pekerjaan


sumber
3

pastikan Anda berada di cabang, setidaknya di cabang utama

Tipe:

git branch

Anda harus melihat:

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

* (no branch)
master

lalu ketik:

git checkout master

maka semua perubahan Anda akan cocok di cabang utama (atau cabang yang Anda pilih)

jose alvarez muguerza
sumber
2

Untuk benar-benar menyelesaikan masalah, saya menggunakan perintah berikut untuk menampilkan semua file saya ke komit.

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

Masalah yang saya miliki adalah bahwa perintah -u di git add tidak benar-benar menambahkan file baru dan perintah git add -A tidak didukung pada instalasi git saya. Jadi seperti yang disebutkan di utas ini komit yang saya coba panggung kosong.

Asciant
sumber
itu berhasil untuk saya! Saya sudah mencoba dengan terlalu banyak perintah dan tidak ada yang berubah ... tetapi ini adalah solusi bagi saya!
karensantana
1

saya memperbaiki masalah saya ....

tidak yakin apa masalahnya tetapi menggunakan antarmuka gitx untuk melakukan file bertahap saya, lalu ...

$ git push origin master

bekerja...

saya mengalami masalah yang sama ...

membuat folder baru yang ditambahkan dalam file template bort ...

$ git commit -m 'first commit'

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

$ git push origin master

maka saya mendapatkan kesalahan yang sama ...

kesalahan: src refspec master tidak cocok dengan apa pun.
fatal: Remote ujung menutup
kesalahan yang tidak terduga : gagal mendorong beberapa referensi ke '[email protected]: eltonstewart / band-of-strangers.git'

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

Kecuali Anda menggeneralisasi pesan kesalahan, sepertinya Anda benar-benar menempatkan [email protected]:{username}/{projectname}.gitrepo Git jarak jauh Anda. Anda harus mengisi {username}dengan nama pengguna GitHub Anda, dan {projectname}dengan nama proyek Anda.

mipadi
sumber
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
nyentrik
sumber
1

Saya memiliki masalah yang sama. Saya keliru membuat direktori dalam mesin dalam huruf kecil. Setelah mengubah case, masalahnya terpecahkan (tapi saya membuang waktu 1,5 jam :() Periksa nama direktori Anda dan nama repo jarak jauh sama.

saathi
sumber
1

Sepertinya pertanyaan ini sudah memiliki sejumlah jawaban, tetapi saya akan menimbang dengan milik saya karena saya belum melihat ada yang membahas masalah yang saya miliki.

Saya memiliki kesalahan ini juga pada repositori github baru. Ternyata pengguna yang saya tekan tidak memiliki akses push. Untuk beberapa alasan, ini menghasilkan kesalahan "ERROR: repositori tidak ditemukan" alih-alih semacam kesalahan akses.

Bagaimanapun, saya harap ini membantu jiwa miskin yang mengalami masalah yang sama.

Tom
sumber
1

memiliki masalah yang sama satu menit yang lalu dan kemudian memperbaikinya

buat repositori di github bernama 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

ini harus bekerja untuk menyelesaikan masalah refspec

David Chase
sumber
Terima kasih ini bekerja untuk saya .. bisakah saya tahu apa perbedaan antara "git add." dan "git add -A"
Satish Karuturi
tidak ada perbedaan jika Anda menggunakan v 2.x hanya penting jika Anda berada di 1.x check table untuk ref di masa mendatang: stackoverflow.com/a/26039014/640727
David Chase
0

Saya secara keliru menempatkan spasi setelah - jadi alih-alih - saya punya - m Hanya sesuatu untuk dicari.

Brad Madigan
sumber
0

Saya pikir dalam versi git yang lebih lama, Anda harus mengkomit setidaknya satu file terlebih dahulu, dan kemudian Anda dapat "mendorong master asal" sekali lagi.

deddihp
sumber
0

Hebat .. masalahnya dengan direktori kosong hanya tidak ada yang lain. Saya menyelesaikan masalah saya dengan membuat satu file biner di setiap direktori dan kemudian menambahkannya.

Shailesh
sumber
0

Initital add & commit bekerja seperti pesona. Saya kira itu hanya masalah memahami metodologi Git dalam mengelola proyek dalam repositori.

Setelah itu saya berhasil mendorong data saya langsung tanpa kesulitan.

Matthew Morek
sumber
0

Saya baru saja mengalami masalah ini, dan sepertinya disebabkan oleh saya tidak menambahkan pesan komit kustom di atas pesan komit default (saya pikir, mengapa menulis "komit awal", ketika ia dengan jelas mengatakan bahwa hal yang sama persis dalam teks yang dihasilkan Git di bawahnya).

Masalahnya teratasi ketika saya menghapus direktori .git, menginisialisasi ulang direktori proyek untuk Git, menambahkan kembali remote GitHub, menambahkan semua file ke tahap baru, berkomitmen dengan pesan pribadi di atas pesan yang dibuat secara otomatis, dan mendorong ke asal / master

2540625
sumber
0

Ketika Anda membuat repositori di Github, itu menambahkan file README.md ke repo dan karena file ini mungkin tidak ada di direktori lokal Anda, atau mungkin memiliki konten yang berbeda git push akan gagal. Untuk mengatasi masalah yang saya lakukan:

git pull origin master
git push origin master

Kali ini berhasil karena saya memiliki file README.md.

Sahil Singh
sumber
0

Sebelum komit pertama, coba tambahkan beberapa file seperti readme.txt. Ini akan "memaksa" repo jarak jauh membuat master cabang jika tidak ada. Itu berhasil bagi saya.

Everton ZP
sumber
0

Ini pertanyaan yang sangat lama tetapi untuk semua orang baru yang akan berakhir di sini seperti saya. Solusi ini hanya untuk

error: src refspec master does not match any.

kesalahan untuk repo baru dibuat

Anda perlu menambahkan

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

Hanya setelah menambahkan email dan menambahkan nama file ke git dan komit

git add .
git commit -m "message"

Itu akan bekerja seperti pesona

Pankaj
sumber
0

Saya memiliki kesalahan ini juga, saya meletakkan komit untuk tidak mendorong proyek kosong seperti banyak orang tetapi tidak berhasil

Masalahnya adalah ssl, y menempatkan berikutnya

git config --sistem http.sslverify false

Dan setelah itu semuanya bekerja dengan baik :)

git dorong master asal

Eduardo Chávez
sumber
0

Saya mengalami masalah / kesalahan yang sama. git push -u origin masterSaya malah melakukannya git push origin masterdan saya berhasil.

Ali Akram
sumber
0

buka panel kontrol -> kelola kredensial Anda dan hapus kredensial github jika ada.

sudip lahiri
sumber
0

Membenturkan utas lama.

Jika Anda telah membuat repositori di Github dengan a Readmeatau a.gitignore , Anda mungkin harus mengubah master lokal dengan master remote. Karena, jika Anda menggunakan alat perancah proyek, seperti buat-aplikasi, itu membuat file-file ini untuk Anda, dan master jarak jauh perlu disinkronkan dengan lokal Anda sebelum Anda mendorong.

Jika Anda membuat repositori kosong di Github, maka Anda cukup menekan.

Rutwick Gangurde
sumber
-1

Saya memiliki masalah yang sama, beberapa pengguna telah menjawab ini. Sebelum mendorong, Anda harus memiliki komit pertama Anda. Sekarang untuk pengguna baru, saya telah membuat serangkaian langkah sederhana. Sebelum itu, Anda perlu menginstal git dan menjalankannya di command line:

  • git config user.email "email Anda"
  • git config user.name "nama"

Langkah-langkah untuk membuat repositori jarak jauh (saya menggunakan dropbox sebagai repositori jarak jauh):

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
sumber