Đẩy lỗi chính gốc trên kho lưu trữ mới


181

Tôi mới bắt đầu sử dụng git với github. Tôi làm theo hướng dẫn của họ và gặp lỗi ở bước cuối cùng. Tôi đang kiểm tra trong một thư mục hiện tại không được kiểm soát nguồn (dự án khoảng một tuần). Ngoài ra, trường hợp sử dụng của tôi nên chạy khá tốt.

Đây là những gì đang xảy ra:

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

Hướng dẫn của 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
Dường như cam kết ban đầu không hoạt động vì bất kỳ lý do gì. Nhật ký Git đã giúp tôi xem liệu cam kết có hoạt động hay không. Tôi đã thành công khi thử lại vào ngày hôm sau. Cảm ơn!
sutee

1
Nếu bạn không thêm bất kỳ tệp nào, cam kết hoặc chạy git init, yoy luôn gặp các loại sự cố này. Do đó, luôn luôn chạy git statusđể xem mọi thứ có ổn không.
raduken

lỗi tương tự khi tạo một nhánh đến kho git mới được tạo từ mã hiện có. Đã giải quyết lỗi bằng cách nhân bản kho git.
dùng553620


Lỗi trùng lặp có thể xảy ra khi Lỗi git đẩy nâng cấp lên github .

Câu trả lời:


137

Thông báo lỗi dẫn đến kết luận rằng bạn không có masterchi nhánh trong kho lưu trữ cục bộ. Hoặc đẩy nhánh phát triển chính của bạn ( git push origin my-local-master:mastersẽ đổi tên nó thành mastertrên github) hoặc thực hiện cam kết trước. Bạn không thể đẩy một kho lưu trữ hoàn toàn trống rỗng.


10
Tôi gặp vấn đề "kho lưu trữ trống", vì hướng dẫn có liên quan được tham chiếu bởi GitHub ( bean.seartipy.com/2008/12/09/ chủ ) đã không đề cập đến lệnh "git commit -m 'commit commit đầu tiên". Một khi tôi đã sử dụng nó, tất cả đều ổn!
Pascal Lindelauf

3
Tôi đã quên để cam kết thay đổi của tôi.
Nick Josevski

Khi bạn nói git push origin my-local-master:master nó có nghĩa là my-local-mastergì? Nếu tôi có tên CSS-pix trong thư mục của mình mà tôi muốn đẩy
Nofel

187

Tôi đã có cùng một vấn đề và sau đó tự đập vào đầu mình vì tôi đã không thực sự thêm các tệp dự án của mình.

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

Vâng, tôi đã thử cách sau, nhưng giải pháp cho tôi là sử dụng lệnh của bạn thay vào đó: git add * Cú pháp đúng là: git add.
Eric Martindale

5
Đã làm điều CÙNG ... jeesh. Cảm ơn!
cbmeek

28

Tôi gặp vấn đề tương tự. Tôi đã xóa thư mục .git sau đó làm theo các lệnh sau

  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

Tôi có vấn đề tương tự. nó đã giải quyết vấn đề của tôi Nếu bạn bắt đầu git của bạn. bạn phải làm trên Terminal

1) git add .

2)git commit -m "first commit"

Để gửi đến bitbucket

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


6

Tôi chỉ gặp vấn đề tương tự khi tạo kho Git đầu tiên của mình. Tôi đã có một lỗi đánh máy trong việc tạo từ xa nguồn gốc Git - hóa ra tôi đã không viết hoa tên của kho lưu trữ của mình.

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

Đầu tiên tôi gỡ cái remote cũ bằng

git remote rm origin

Sau đó, tôi đã tạo lại nguồn gốc, đảm bảo tên nguồn gốc của tôi được gõ CHÍNH XÁC giống như cách viết gốc của tôi.

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

Không còn lỗi nữa! :)


4

Tôi đã có cùng một lỗi, như Bombe nói rằng tôi không có chi nhánh địa phương có tên master trong cấu hình của mình, mặc dù git branch đã liệt kê một nhánh có tên master ...

Để khắc phục, chỉ cần thêm phần này vào .git / config của bạn

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

Kinda hacky nhưng làm công việc


3

hãy chắc chắn rằng bạn đang ở trên một nhánh, ít nhất là trong nhánh chính

kiểu:

git branch

bạn nên thấy:

ubfox-user: ~ / git / turmeric-releng $ git chi nhánh

* (no branch)
master

sau đó gõ:

git checkout master

sau đó tất cả các thay đổi của bạn sẽ phù hợp với nhánh chính (hoặc nhánh bạn chọn)


2

Để thực sự giải quyết vấn đề, tôi đã sử dụng lệnh sau để xử lý tất cả các tệp của mình cho cam kết.

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

Vấn đề tôi gặp phải là lệnh -u trong git add không thực sự thêm các tệp mới và lệnh git add -A không được hỗ trợ khi tôi cài đặt git. Vì vậy, như đã đề cập trong chủ đề này, cam kết mà tôi đã cố gắng thực hiện là trống rỗng.


nó làm việc cho tôi Tôi đã thử với quá nhiều lệnh và không có gì thay đổi ... nhưng đây là giải pháp cho tôi!
karensantana

1

tôi đã khắc phục vấn đề của mình ....

không chắc vấn đề là gì nhưng sử dụng giao diện gitx để cam kết các tập tin được dàn dựng của tôi, sau đó ...

$ git push origin master

đã làm việc...

tôi đang có cùng một vấn đề ...

đã tạo một thư mục mới được thêm vào trong các tệp mẫu bort ...

$ git commit -m 'first commit'

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

$ git push origin master

sau đó tôi nhận được cùng một lỗi ...

lỗi: src refspec master không khớp với bất kỳ.
gây tử vong: Kết thúc từ xa bị treo
lỗi bất ngờ : không thể đẩy một số ref đến 'git@github.com: eltonstewart / band-of-strangers.git'


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

Trừ khi bạn khái quát thông báo lỗi, có vẻ như bạn thực sự đặt git@github.com:{username}/{projectname}.gitlàm repo Git từ xa của bạn. Bạn nên điền {username}tên người dùng GitHub và tên {projectname}dự án của bạn.


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

Tôi đã có vấn đề tương tự. Tôi đã tạo nhầm thư mục trong máy trong trường hợp thấp hơn. Sau khi thay đổi trường hợp, vấn đề đã được giải quyết (nhưng lãng phí 1,5 giờ của tôi :() Kiểm tra xem tên thư mục của bạn và tên repo từ xa có giống nhau không.


1

Có vẻ như câu hỏi này đã có một số câu trả lời, nhưng tôi sẽ cân nhắc với tôi vì tôi chưa thấy bất kỳ câu hỏi nào giải quyết vấn đề mà tôi gặp phải.

Tôi cũng gặp lỗi này trên kho lưu trữ github hoàn toàn mới. Hóa ra người dùng tôi đang đẩy không có quyền truy cập đẩy. Vì một số lý do, điều này dẫn đến lỗi "LRI: không tìm thấy kho lưu trữ" thay vì một số lỗi truy cập.

Dù sao, tôi hy vọng điều này sẽ giúp linh hồn tội nghiệp gặp phải vấn đề tương tự.


1

có cùng một vấn đề một phút trước và sau đó sửa nó

tạo một kho lưu trữ trong github gọi là 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

điều này sẽ làm việc để giải quyết vấn đề refspec


Cảm ơn nó đã làm việc cho tôi .. tôi có thể biết sự khác biệt giữa "git add." và "git add -A"
Satish Karuturi

không có gì khác biệt nếu bạn ở trên v 2.x chỉ quan trọng nếu bạn ở trên bảng kiểm tra 1.x cho lần giới thiệu trong tương lai: stackoverflow.com/a/26039014/640727
David Chase

0

Tôi đã nhầm lẫn đặt một không gian sau - vì vậy thay vì -m tôi đã có - m Chỉ là thứ gì đó để tìm kiếm.


0

Tôi nghĩ trong phiên bản cũ hơn của git, trước tiên bạn nên cam kết ít nhất một tệp và sau đó bạn có thể "đẩy bản gốc" một lần nữa.


0

tuyệt vời .. vấn đề của nó với thư mục trống chỉ có gì khác. Tôi đã giải quyết vấn đề của mình bằng cách tạo một tệp nhị phân trong mỗi thư mục và sau đó thêm chúng.


0

Ban đầu thêm & cam kết làm việc như một nét duyên dáng. Tôi đoán đó chỉ là vấn đề hiểu phương pháp của Git trong việc quản lý dự án trong kho lưu trữ.

Sau đó, tôi đã xoay sở để đẩy dữ liệu của mình ngay lập tức mà không gặp rắc rối.


0

Tôi vừa gặp phải vấn đề này, và nó dường như là do tôi không thêm thông điệp cam kết tùy chỉnh phía trên thông báo cam kết mặc định (tôi đã hiểu, tại sao lại viết "cam kết ban đầu", khi nó nói rõ ràng điều tương tự trong văn bản do Git tạo ra bên dưới nó).

Vấn đề được giải quyết khi tôi xóa thư mục .git, khởi tạo lại thư mục dự án cho Git, thêm lại từ xa GitHub, thêm tất cả các tệp vào giai đoạn mới, cam kết với một tin nhắn cá nhân phía trên tin nhắn được tạo tự động và đẩy sang nguồn gốc / chủ.


0

Khi bạn tạo một kho lưu trữ trên Github, Nó sẽ thêm tệp README.md vào repo và vì tệp này có thể không có trong thư mục cục bộ của bạn, hoặc có lẽ nó có thể có nội dung git đẩy khác nhau sẽ thất bại. Để giải quyết vấn đề tôi đã làm:

git pull origin master
git push origin master

Lần này nó hoạt động kể từ khi tôi có tệp README.md.


0

Trước lần xác nhận đầu tiên, hãy thử thêm một số tệp như readme.txt. Điều này sẽ "buộc" repo từ xa tạo chủ nhánh trong trường hợp không tồn tại. Nó làm việc với tôi.


0

Đây là câu hỏi rất cũ nhưng đối với tất cả những người mới sẽ kết thúc ở đây như tôi. Giải pháp này chỉ dành cho

error: src refspec master does not match any.

lỗi cho repo mới được tạo

Bạn cần thêm

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

Chỉ sau khi thêm email và tên, thêm tệp vào git và cam kết

git add .
git commit -m "message"

Nó sẽ làm việc như quyến rũ


0

Tôi cũng có lỗi này, tôi đã cam kết không đẩy dự án trống như nhiều người làm nhưng không hoạt động

Vấn đề là ssl, y đặt tiếp theo

cấu hình git - hệ thống http.sslverify sai

Và sau đó mọi thứ hoạt động tốt :)

git đẩy nguồn gốc


0

Tôi đã có cùng một vấn đề / lỗi. Tôi đã làm git push -u origin masterthay vì tôi chỉ làm git push origin mastervà nó đã làm việc.


0

đi tới bảng điều khiển -> quản lý thông tin đăng nhập của bạn và xóa thông tin đăng nhập github nếu có.


-1

Tôi đã có cùng một vấn đề, một số người dùng đã trả lời điều này. Trước khi đẩy bạn phải có cam kết đầu tiên của bạn. Bây giờ đối với người dùng mới, tôi đã tạo một loạt các bước đơn giản. Trước đó, bạn cần cài đặt git và chạy trong dòng lệnh:

  • git config user.email "email của bạn"
  • git config user.name "name"

Các bước để tạo một kho lưu trữ từ xa (Tôi sử dụng dropbox làm kho lưu trữ từ xa):

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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.