2012-04-09 28 views
35

tôi chỉ có tổng chi nhánh và im nhận được lỗi này mỗi khi tôi cố gắng để "git pull":Git lỗi trên git pull (không thể cập nhật ref địa phương)

error: Couldn't set refs/remotes/origin/master 
From /var/lib/git/xxx/project 
! a0f80ea..49177a3 master  -> origin/master (unable to update local ref) 

và khi tôi làm "git pull gốc bậc thầy" tôi nhận được:

error: Couldn't set ORIG_HEAD 
fatal: Cannot update the ref 'ORIG_HEAD'. 

tôi đã được tìm kiếm nhưng không thể tìm thấy lý do tại sao

+2

Kho lưu trữ cục bộ ở đâu? Bạn đã tạo nó với tư cách người dùng khác với người dùng bạn đang sử dụng để thực hiện thao tác kéo chưa? Nó giống như một vấn đề cho phép tập tin. – tpg2114

+0

Vâng bạn đã đúng sau khi bạn nói chủ sở hữu của các tệp dự án là một người dùng khác, bây giờ câu hỏi của tôi có vẻ quá ngu ngốc, nhưng bạn đã cho tôi câu trả lời, hãy đặt câu trả lời để chọn nó là tốt nhất;) – user115561

+0

please @ tpg2114 add đây là một câu trả lời để chọn nó – user115561

Trả lời

6

Đảm bảo người dùng được thực hiện các git pull là cùng một người dùng đã tạo ra kho. Quyền của tệp không chính xác.

+0

Đối với tôi, tôi đã phải thay đổi chủ sở hữu của các tập tin trong repo Tôi đã cố gắng git kéo vào đúng người dùng với chown. Tôi nghĩ rằng đây là cơ bản những gì bạn đã nói mặc dù nó không rõ ràng với tôi khi tôi đọc này. – Dee

+0

Tôi đồng ý với điều này, hãy kiểm tra xem chủ sở hữu và nhóm có được đặt thành người dùng sẵn sàng lấy ".git" repo (xảy ra nếu bạn kéo chi nhánh là "root") "sudo chown -R" đã thực hiện công việc trong trường hợp của tôi hay không. –

0

Lỗi này với (không thể cập nhật cục bộ) cũng có thể xảy ra nếu bạn đã thay đổi mật khẩu gần đây và có một số công cụ ưa thích tích hợp thông tin đăng nhập Windows và Linux của bạn.

4

Tôi khám phá cùng một thông báo Lỗi cố gắng kéo từ một Repo Bitbuck vào bản sao lokal của tôi. Ngoài ra còn có chỉ có một Branche Sư Phụ và dẫn lệnh git pull origin master để thông báo lỗi này

From https://bitbucket.org/xxx 
* branch   master  -> FETCH_HEAD 
error: Couldn't set ORIG_HEAD 
fatal: Cannot update the ref 'ORIG_HEAD'. 

Giải pháp như sau

  1. git reflog tìm số cam kết cuối cùng
  2. git reset --hard <numnber> đặt lại các cam kết cuối cùng
  3. git pull origin master kéo lại mà không gặp lỗi
+0

Cho người đàn ông này một chuông, câu trả lời hay nhất – surfer190

94

Nhóm của tôi và tôi gặp phải lỗi này, không thể cập nhật quảng cáo địa phương, khi thực hiện việc kéo SourceTree.

Chúng tôi sử dụng:

git gc --prune=now 

này loại bỏ bất kỳ đối tượng tham khảo trùng lặp mà nên khắc phục vấn đề.

Dưới đây là một số liên kết nơi bạn có thể tìm hiểu thêm về tài liệu tham khảo git và tỉa:

git tip of the week

git-prune documentation

git references

+0

Làm việc cho tôi cũng vậy, cùng một thông điệp, Sourcetree trên Windows 7 –

+0

Lệnh này làm việc xuất sắc ... cảm ơn bạn –

18

Tôi giải quyết như sau:

git remote prune origin

+1

Eureka! Nó thực sự hiệu quả. Nó có cái gì đó để làm với các chi nhánh được đổi tên từ xa hoặc một cái gì đó. Tôi sẽ không cố gắng giải thích nó. – TheSoftwareJedi

+0

Điều này đã làm cho tôi, 'git gc --prune = now' không làm bất cứ điều gì –

1

Sao chép kho lưu trữ một lần nữa và sao chép thư mục .git trong dự án bị hỏng của bạn.

0

Điều này xảy ra với tôi trên OSX nơi tôi sử dụng hệ thống tệp phân biệt chữ hoa chữ thường. Bằng cách nào đó một nhà phát triển khác đã đẩy chi nhánh có cùng tên nhưng trường hợp khác nhau: My-Branchmy-branch.

Tôi đã có My-Branch kiểm tra ra và đã nhận lỗi "không thể cập nhật ref địa phương" khi tôi đã làm một pull có lẽ vì hệ thống tập tin cho rằng My-Branch == my-branch.

Vì chúng tôi sử dụng Github, tôi có thể giải quyết vấn đề bằng cách xóa một trong các nhánh thông qua GUI của Github.

+0

Trong trường hợp của tôi, cả hai nhánh xung đột đều thuộc về một người dùng khác nên tôi không thể xóa nó. Thay vào đó, tôi đã xóa các tập tin ref chi nhánh dưới .git \ refs \ remotes, và sửa nó (tạm thời - vấn đề sẽ trở lại mỗi khi tôi kéo cho đến khi người dùng khác xóa một trong các nhánh của mình). –

0

Phát biểu từ người dùng PC - Khởi động lại.

Thành thực mà nói, nó hiệu quả với tôi. Tôi đã giải được hai vấn đề git lạ mà tôi nghĩ là hư hỏng theo cách này.

0

Tôi đã gặp sự cố tương tự trên máy chủ debian của mình khi đĩa đầy. Không thể tạo tệp tạm thời vì không còn dung lượng trên thiết bị. Sau khi làm sạch một số tập tin, nó làm việc ra tốt đẹp.

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