2012-06-27 35 views
8

Tôi tương đối mới với git và tôi đang đối mặt với vấn đề này. Lệnh git push hiển thị lỗi bên dưới. Tôi sẽ giải thích cho bạn ngay từ đầu những gì tôi đã cố gắng làm. Tôi đã tạo một mô-đun con, đã cam kết và đẩy nó. Đẩy đẩy lỗi dưới đây.Không thể khóa refs/heads/master

[email protected]_HOME ~/git/breakit-web-app (master) 
$ git push origin master 
error: refs/heads/master does not point to a valid object! 
Counting objects: 4, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (3/3), 421 bytes, done. 
Total 3 (delta 1), reused 0 (delta 0) 
remote: bb/acl: salmanmanekia is allowed. accepted payload. 
error: Ref refs/heads/master is at 6a47a0fd398610a75bdab8976f842dc0efd89f86 but expected 00000000000000000000000000000000000000000 
remote: error: failed to lock refs/heads/master 

To ssh://[email protected]/majuri/breakit-web-app.git 
! [remote rejected] master -> master (failed to lock) 
error: failed to push some refs to 'ssh://[email protected]/majuri/breakit-web-app.git' 

Đây là một ảnh chụp màn hình: enter image description here

Sau đó tôi đã cố gắng một số giải pháp nhưng không ai trong số họ làm việc. Tôi cũng sẽ giải thích ngắn gọn những gì tôi đã cố gắng

1: Từ repo bitbucket tôi nhận thấy có một số danggling cam kết (mũi tên màu đỏ trong hình 2) vì vậy tôi đã đưa ra các lệnh sau đây để giải quyết mà git gc và git mận .

2: Tôi cũng đã cố gắng lệnh như TRỤ git Hoàn nguyên và git push gốc ĐẦU --force nhưng không ai dường như làm việc .. enter image description here

Các chi tiết khác:

$ git rev-parse --symbolic-full-name master 
refs/heads/master 

$ git rev-parse master 
0da090c5cbde10ff19602a2722ae05231c30dff5 

$ git show-ref master 
0da090c5cbde10ff19602a2722ae05231c30dff5 refs/heads/master 
6a47a0fd398610a75bdab8976f842dc0efd89f86 refs/remotes/origin/master 

Cảm ơn bạn

+0

đầu ra từ 'git show-ref refs/điều khiển từ xa/gốc/master' là gì? – vergenzt

+0

$ git show-ref refs/remotes/origin/master 6a47a0fd398610a75bdab8976f842dc0efd89f86 refs/remotes/origin/master – LivingThing

+0

Đầu ra 'git fetch origin' là gì? Có lẽ các chi nhánh theo dõi từ xa của bạn đã không đồng bộ hóa hay gì đó ...? – vergenzt

Trả lời

5

Bạn có thể thử các lệnh sau đây

1 - Chuyển đến master chi nhánh

git checkout master 

2 - Nhận cập nhật từ điều khiển từ xa để kho địa phương của bạn

git fetch 

3 - Cập nhật kho địa phương của bạn sử dụng rebase thay vì hợp nhất. Xem there difference between git pull and git rebase

git rebase origin/master 

4 - Đẩy master chi nhánh của bạn

git push origin master:master 
+1

Điều này làm việc cho tôi (sử dụng sourcetree). Đơn giản nhưng hiệu quả. –

Các vấn đề liên quan