Unlink of File Failed Should I Try Again
Hủy liên kết tệp Không thành công. Tôi có nên thử lại không?
Một cái gì đó sai đang xảy ra với một trong các tệp trong kho git cục bộ của tôi. Khi tôi đang cố gắng thay đổi chi nhánh, nó nói:
Unlink of file 'templates/media/container.html' failed. Should I try over again? (y/n)
Điều đó có nghĩa là gì?
Câu trả lời:
Điều này có thể có nghĩa là một chương trình khác đang sử dụng tệp, điều này ngăn git "di chuyển" tệp vào hoặc ra khỏi thư mục làm việc khi bạn đang cố gắng thay đổi các nhánh.
Tôi đã có điều này xảy ra trên Windows Vista trong đó nhật thực là chương trình "sử dụng" tệp. Các tập can có thể không thực sự mở trong nhật thực nhưng có thể đã được mở bởi một quá trình chạy bằng nhật thực.
Trong trường hợp này, hãy thử đóng tệp trong bất kỳ ứng dụng nào có thể đã sử dụng nó. Nếu điều đó không làm việc, hãy thoát hoàn toàn mọi ứng dụng có thể đã mở tệp.
Tôi đã có vấn đề này và giải quyết nó bằng lệnh: git gc
Lệnh trên loại bỏ temp và các tệp không cần thiết. (Người thu gom rác.)
giải pháp này từ đây làm việc cho tôi:
Đây là một câu trả lời cụ thể của Windows, vì vậy tôi biết rằng nó không liên quan đến bạn ... Tôi chỉ bao gồm nó vì lợi ích của những người tìm kiếm trong tương lai.
Trong trường hợp của tôi, đó là vì tôi đang chạy Git từ một dòng lệnh không nâng cao. "Chạy với tư cách quản trị viên" đã sửa nó cho tôi.
Tôi gặp phải vấn đề này trong khi làm a git pull
.
Tôi cố gắng git gc
và nó giải quyết vấn đề của tôi.
Trong trường hợp của tôi không có quá trình chạm vào tập tin hoặc thư mục. Có thể nó xảy ra nếu đường dẫn rất dài, vì hạn chế hệ điều hành (windows). Hãy thử bật cờ hỗ trợ đường dài trong cấu hình git toàn cầu như được chỉ ra bên dưới:
git config --global cadre.longpaths true
hoặc cố gắng đặt cờ trả lời có / không nếu nó không mâu thuẫn với bạn
set GIT_ASK_YESNO=false
Nếu đường dẫn quá dài, tôi đã không tìm thấy giải pháp thành công.
Tôi cố gắng git gc
và nó giải quyết vấn đề của tôi.
Điều này có thể hữu ích cho một ai đó; nếu tất cả những điều trên không phù hợp với bạn, hãy làm theo các bước sau:
-
Đóng IDE của bạn (của tôi là Eclipse, không chắc nó có áp dụng cho Intellij và các ứng dụng khác không) hoặc bất kỳ ứng dụng nào khác có thể đang sử dụng git.
-
Mở git từ dòng lệnh (trong trường hợp của tôi, tôi đã có git fustigate) và chạy
git gc
như được đề cập bởi những người khác.
Điều này đã làm điều kỳ diệu cho tôi.
Khi tôi đang sử dụng gitkraken và dấu nhắc lệnh, tôi gặp vấn đề tương tự. Và sau đó tôi chạy git gc
lệnh nó đã giải quyết vấn đề của tôi. Vì vậy, tôi rất vui và muốn chia sẻ một số điểm có thể hữu ích.
Có gì git gc
sẽ làm gì?
git gc
loại bỏ các đối tượng không thể truy cập có thể đã được tạo ra từ các lệnh git add trước đó.
Khi nào nên chạy git gc
?
Từ doc , người dùng được khuyến khích chạy tác vụ này một cách thường xuyên trong mỗi kho lưu trữ để duy trì việc sử dụng không gian đĩa tốt và hiệu suất hoạt động tốt.
Làm thế nào để làm cho nó tự động cấu hình?
Một số lệnh git có thể tự động chạy git gc; xem cờ --car bên dưới để biết chi tiết. Nếu bạn biết những gì bạn đang làm và tất cả những gì bạn muốn là vô hiệu hóa hành vi này vĩnh viễn mà không cần cân nhắc thêm, chỉ cần làm
git config --global gc.auto 0
Trong trường hợp của tôi (Win8.1, TortoiseGit đang chạy), đó là quá trình gọi là "bộ đệm trạng thái TortoiseSVN" đang khóa tệp.
Giết nó cho phép tôi chạy "git gc" mà không gặp vấn đề gì nữa. Quá trình trên được bật lên bởi TortoiseGit, do đó không cần phải tự khởi động lại nó.
Tôi gặp vấn đề như vậy trên Windows 7 và hóa ra là do một số git.exe
quá trình mồ côi .
Để giải quyết nó, hãy mở Trình quản lý tác vụ và hủy tất cả các git.exe
quy trình.
Vì git
các lệnh có thời gian tồn tại ngắn, thông thường bạn sẽ không bao giờ thấy bất kỳ lệnh nào git.exe
trong Trình quản lý tác vụ. Khi chúng ở đó, điều đó thường có nghĩa là có gì đó không ổn và bạn nên giết các quy trình đó.
Tôi gặp vấn đề này trong Windows. Tôi đã đóng IDE của mình (Android Studio) và chọn CÓ trong git trounce. Nó đã làm việc.
Trên Windows 8: Tôi đã chạy git gc và nó nói git gc đã chạy, tôi đã chạy git gc --forcefulness và trình thu gom rác đã chạy.
Sau đó tôi có thể chuyển nhánh và hợp nhất mà không gặp vấn đề gì, hãy thử git gc --forcefulness.
Có lẽ quá trình gc đã không dừng lại một cách duyên dáng vì lý do này hay lý do khác.
Tôi đã có vấn đề này với .tmp
các tập tin can trong /.git/objects/pack
thư mục. Tôi nghĩ rằng một cái gì đó đã thất bại trong quá trình đẩy hoặc kéo, vì vậy tôi đã xóa các tệp tạm thời này và đặt lại ĐẦU TIÊN về cam kết cuối cùng của mình. Không chắc chắn nếu điều này được khuyên nhưng nó làm việc cho tôi. Cũng git count-objects -five
đưa cho tôi một danh sách các .tmp
tệp không thuộc về thư mục gói.
Hoặc để chặn các can nhắn y / n trong windows git open up cmd.exe
và chạy:
SETX GIT_ASK_YESNO false
xem tại đây: https://twitter.com/petercamfield/status/494805475733807104
Tôi đã có thể giải quyết điều này bằng cách mở Powershell với tư cách Quản trị viên và từ đó git checkout <branch_name>
Tôi đã đối mặt với vấn đề tương tự trong khi thực hiện 'git pull'. Tôi đã thử lệnh git vệ sinh thủ công 'git gc' và nó đã giải quyết vấn đề của tôi.
Sau khi thử các giải pháp khác nhau cuối cùng git clean -f
đã giúp tôi.
EDIT: Tôi đã gặp vấn đề một lần nữa - đóng tất cả các quy trình phụ thuộc vào git dường như có ích (như gitbash, IDE Eclipse, v.five.)
Như đã nêu ở trên, một cái gì đó khác đang giữ các tập can. Điều đó là chương trình không có vẻ đáng ngờ đối với chúng tôi. Tôi đã cố gắng thực hiện thao tác kéo git từ bảng điều khiển, trong khi mở GitKraken. Đóng GitKraken đã khắc phục sự cố.
Sau khi chạy lệnh
git rm -rf foo.bar
Tôi thấy lỗi
Unlink of file 'foo.bar' failed. Should I try again? (y/north)
Bởi vì một chương trình khác đang sử dụng tập can này . Ví dụ: khi tôi chạy ứng dụng spider web Java trong mô hình gỡ lỗi hoặc chạy ứng dụng web trên máy chủ, tôi không thể xóa tệp nhật ký. Tắt sever ứng dụng (hoặc tắt quá trình gỡ lỗi), thử lại
git rm -rf foo.bar
Tôi thấy tập tin đã bị xóa.
Đây có thể là một cửa sổ gitk riêng biệt đang chạy để xem một số lịch sử git.
Chỉ cần đóng cửa sổ đó để khắc phục vấn đề đó.
Tôi gặp vấn đề này khi chạy git Fustigate và Eclipse EGit cùng một lúc. Giải pháp: đóng Eclipse. Cũng sẽ không đau khi chạy git gc
như @khilo đã đề cập.
Tôi gặp vấn đề này trong Windows, bạn có thể muốn chạy git fustigate với tư cách quản trị viên và sau đó thực hiện các lệnh mong muốn, điều đó đã giải quyết vấn đề cho tôi.
Nếu bạn đang phát triển một ứng dụng spider web, một lý do phổ biến là quên tắt máy chủ. Ví dụ: đây có thể là một quy trình Node.js đơn giản hoặc trên các cửa sổ, quy trình IIS của bạn chạy không phô trương hơn như quy trình nền.
Tôi đã thử từng mẹo trên trang này và không có gì giúp được. Tôi đã làm một git fetch
và git reset --difficult origin/development
cho tôi một lỗi không tưởng. Tôi không thể thiết lập lại cam kết mới nhất.
Điều gì đã giúp là kiểm tra một chi nhánh khác và sau đó kiểm tra các chi nhánh trước đó. Rất lạ nhưng nó đã giải quyết được vấn đề.
Nếu đóng IDE của bạn và chạy các lệnh git khác nhau được liệt kê ở đây sẽ không có ích, hãy thử giết thủ công tất cả các quy trình Java đang chạy. Tôi đã có một quá trình Java có thể còn sót lại từ nhật thực mà bằng cách nào đó giữ một tệp cấu hình mở.
Nếu bạn đang sử dụng Docker và chạy Windows 10, bạn có thể muốn dừng (các) thùng chứa nơi tệp có thể đang chạy. Để hiển thị trạng thái của các thùng chứa của bạn, hãy chạy
docker ps -a
Để ngăn chặn chúng, chỉ cần chạy
docker stop <container name or container id>
Điều này làm việc cho tôi khi tôi đang chạy các tệp cục bộ của mình bằng tệp .sh
Làm việc cho tôi, Đã thử trên windows:
Dừng máy chủ của bạn chạy từ IDE hoặc đóng IDE của bạn
Intellij / Ecllipse hoặc bất kỳ, nó sẽ hoạt động.
Trên Windows, đã thấy lỗi này trên một git clone
repo (khá lớn). Đã đóng SmartGit và tạm dừng phần mềm sao lưu của tôi (CrashPlan) và sau đó nó đã hoạt động. Không chắc chắn ai trong số 2 người đã thực hiện thủ thuật này, nhưng nếu chạy một trong hai, điều này cũng có thể làm điều đó cho bạn.
Tôi gặp vấn đề tương tự trong khi thực hiện thao tác kéo git và như đã nêu ở trên, đó là practise một chương trình đang giữ các tệp đó và không cho phép kéo git. Kết thúc chương trình đã giúp. Thông thường, IDE (như Eclipse) từ nơi các tệp đang được kiểm tra sẽ giữ nó ở chế độ nền. Đóng cùng và chạy lại git kéo giải quyết vấn đề cho tôi.
Tôi đã có lỗi tương tự và đóng ứng dụng mở tệp đã giải quyết nó. Tôi đã có thể quay lại và nhấn "Y"
feinsteinbrind1964.blogspot.com
Source: https://qastack.vn/programming/4389833/unlink-of-file-failed-should-i-try-again
Post a Comment for "Unlink of File Failed Should I Try Again"