Lỗi Git SVN: quá trình Git bị lỗi trong kho lưu trữ trước đó


97

Tôi chỉ đang cố gắng thực hiện các thay đổi đối với Git master. Từ những gì tôi đã đọc, có vẻ như ý tưởng là xóa tệp khóa. Tin nhắn nói:

đảm bảo không có quy trình Git nào khác đang chạy và xóa tệp theo cách thủ công

Có lẽ ai đó biết, tập tin nào để loại bỏ và làm thế nào để loại bỏ?


1
Bạn có thể hiển thị thông báo lỗi đầy đủ bao gồm lệnh bạn đang chạy không?
Schwern

tôi sử dụng con rùa mặc dù. bạn có thể xóa tệp đó trong rùa hay chỉ trong mai?
Pinchas K

Có thể bạn sẽ phải làm điều đó trong trình bao hoặc trình khám phá tệp. Bạn có thể phải hiển thị các tệp ẩn.
Schwern

lỗi đầy đủ là đây: nghiêm trọng: Không thể tạo tệp 'C / etc / .git / index.lock' tồn tại. Nếu không có quá trình git nào khác hiện đang chạy, điều này có thể có nghĩa là một quá trình git đã bị lỗi trong kho lưu trữ trước đó. Đảm bảo rằng không có quy trình git nào khác đang chạy và xóa tệp theo cách thủ công để tiếp tục.
Pinchas K

5
Thông báo lỗi nói lên tất cả. Xóa C:\etc\.git\index.lockgiống như bất kỳ tệp nào khác.
Schwern

Câu trả lời:


194

Tệp được đề cập có thể xảy ra .git/index.locksẽ an toàn nếu chỉ xóa nó nếu bạn không có quy trình git nào khác đang chạy . Đảm bảo rằng lệnh git-svn không bị treo.

PS Cách tiếp cận thông thường của tôi để khắc phục sự cố git-svn là tạo một bản kéo mới của kho lưu trữ. Tốn thời gian, nhưng bạn có thể thực hiện song song với việc cố gắng khắc phục sự cố. Có một cuộc chạy đua nhỏ giữa bạn và git. Tất nhiên, điều này chỉ hoạt động nếu bạn không có các cam kết chưa được đẩy.


1
Điều này không giải quyết được nó cho tôi. Tôi có một tệp khóa còn lại khác tại .git / svn / refs / remotes / git-svn / index.lock.
Kai Stavginski

74

Xóa index.locktệp như Schwern đã nêu sẽ giải quyết được vấn đề này.

Bạn có thể loại bỏ nó bằng cách chạy rm -f ./.git/index.lock

Các rmlệnh được sử dụng để loại bỏ (delete) các tập tin và thư mục.

Viết -ftắt của lực cho máy tính của bạn xóa các tệp mà không cần nhắc xác nhận


9

Đối với người dùng "GUI" như tôi

Mở Tiện ích mở rộng Git và chọn kho lưu trữ (nếu nhiều hơn một) Chọn "Cài đặt" từ menu trên cùng rồi "Bảo trì Git" và sau đó nhấp vào "Xóa Khóa chỉ mục"

Tiện ích mở rộng Git: Cài đặt-> Bảo trì Git-> Xóa Khóa chỉ mục



2

Nó cũng có thể liên quan đến bất kỳ tệp * .lock nào trong .git /

Kiểm tra và loại bỏ chúng. Bạn có thể sử dụng:rm -f ./.git/*.lock



0

Xóa tệp index.lock như Schwern đã nêu sẽ giải quyết vấn đề này.

Bạn có thể xóa nó bằng cách chạy rm -f ./.git/index.lock

Lệnh rm được sử dụng để xóa (xóa) các tệp và thư mục.

-F là viết tắt của lực cho máy tính của bạn xóa các tệp mà không cần nhắc xác nhận

vẫn không hoạt động có nghĩa là mở git thông qua git bash thay vì làm trong thiết bị đầu cuối

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.