2011-07-01 68 views
12

Tôi đang sử dụng git trên cửa sổ. Đây là những gì tôi đã làm: làm phát triển trên máy M1, tạo kho lưu trữ trống trên ổ đĩa USB M2 để sao lưu kho lưu trữ trên M1. Tôi đã sao lưu bằng lệnh này (từ git bash trên M1):lỗi git “không thể viết tên tập tin sha1… Quyền bị từ chối”

git push --mirror "f:\repo" 

Làm việc mà không có bất kỳ vấn đề gì. Sau đó, tôi đã mua một máy M3 mới. Tôi nhân bản kho lưu trữ từ M2 đến M3:

git clone "f:\repo" . 

Đã thực hiện một số kiểm tra cho repo trong M3. Sau đó, tôi đã làm (từ git bash trên máy M3)

git push --mirror "f:\repo" 

tôi nhận được lỗi này: không thể viết sha1 filename ... Permission denied Làm thế nào tôi có thể sửa lỗi này?

+0

Xem thêm http://stackoverflow.com/q/3829498/119790 –

+0

Vui lòng xem câu trả lời của tôi tại http://stackoverflow.com/questions/3829498/git-over-samba-unable-to- write-sha1-filename-permission-denied/6777323 # 6777323 –

+0

@morpheus bạn cần đánh dấu câu trả lời ở đây. – jcollum

Trả lời

4

Thậm chí nếu đó là về một ngữ cảnh khác (git + ssh), hãy kiểm tra ACL được liên kết với repo của bạn.
Xem ví dụ này blog post.

Như đã đề cập trong câu hỏi SO "Git pull error: unable to create temporary sha1 filename" (trong đó có gợi ý thú vị khác nữa), hãy thử làm lại repo trần, lần này với cấu hình:

git config core.sharedRepository true 
0

tôi cũng gặp phải lỗi tương tự nhưng thường khi thực hiện một "git pull" bằng cách sử dụng bash trên windows machine.

Đối với tôi, nó liên quan đến một số ứng dụng khác (thường là trình kiểm tra vi-rút trong trường hợp của tôi) gây xung đột bằng cách giữ thư mục .git.

Tôi thường có thể thực hiện "git pull" một vài lần nữa và cuối cùng nó sẽ hoạt động (sau khi thất bại với cùng một quyền bị từ chối lỗi trên giá trị băm khác) hoặc nếu tôi cảm thấy vội vàng. kiểm tra, làm git kéo (mà sẽ làm việc thành công lần đầu tiên mà không có sự cho phép lỗi) và sau đó rất nhanh chóng chuyển đổi kiểm tra virus trở lại một lần nữa.

-1

Tôi đã gặp sự cố tương tự này và có thể khắc phục sự cố bằng cách truy cập C:\Program Files\Git sau đó nhấp chuột phải vào git-bash.exe -> properties -> Khả năng tương thích -> Chạy chương trình này với tư cách Quản trị viên.

-1

Chúng tôi đã gặp vấn đề này khi một đồng nghiệp không có umask thiết lập đúng trong .bashrc mình mà gây ra bất kỳ tập tin ông cam kết sẽ được thiết lập như là chỉ đọc cho phần còn lại của chúng tôi cố gắng để ghi các thay đổi để cùng tập tin trong git repo . Dưới đây là một số link explaining umask permissions

+1

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/chất lượng thấp-bài viết/17870811) –

+1

Cảm ơn tuyệt vời cho các tip. Đó là bình luận đầu tiên của tôi trên trang web này, tôi sẽ học hỏi và cải thiện. –

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