Tôi có một kho lưu trữ có các cửa sổ (cp1252) và linux (utf8). Rõ ràng Git bị nhầm lẫn và đặt tên tệp không hợp lệ (từ quan điểm của Linux). Tôi biết tôi có thể sử dụng móc để đổi tên các tập tin trong một bên (trên Linux, ví dụ, đổi tên các tập tin từ cp1252 để utf8 khi họ đến và ngược lại khi họ đi), nhưng ... chính xác làm thế nào để tôi làm điều đó? Chính xác cái móc nào tôi phải viết?Git - xử lý tên tệp mã hóa hỗn hợp
Trả lời
Câu hỏi hay!
http://www.serverwatch.com/tutorials/article.php/3705216 Nói về một công cụ có tên "convmv" sẽ sửa tên tệp. Điều này có thể hữu ích.
Iconv http://www.gnu.org/software/libiconv/ có thể chuyển đổi văn bản tùy ý thành các bộ ký tự khác nhau.
http://ozmm.org/posts/git_post_commit_for_profit.html Cho bạn biết cách thực hiện móc hậu hậu, cụ thể hơn là Ruby. Có vẻ như bạn chỉ cần thêm một tập lệnh để thực hiện trong .git/hooks/post-commit và git sẽ chạy nó sau khi bạn cam kết. Nó có thể là một kịch bản mà thậm chí chạy một kịch bản trong repo git của bạn.
Đối với tập lệnh, tôi khuyên bạn nên chỉ quét bằng tìm, chuyển tên tệp thành UTF-8, xem nếu tên đó đã là tên đó và nếu không, hãy di chuyển nó.
nhưng sau cam kết móc đúng? Tôi đã suy nghĩ tôi đã phải chuyển đổi (trên linux) từ cp1252 sang utf8 sau khi các tập tin Received aingnd quay lại cp1252 trước khi commit hoặc so sánh các tập tin với kho lưu trữ khác (vì máy linux là một thiểu số trong mạng - và convmv có thể dễ dàng cài đặt trong * buntu) ... – Massa
'tiền cam kết' có vẻ đầy hứa hẹn. xem: http://git-scm.com/book/en/Customizing-Git-Git-Hooks – tessi
- 1. Xử lý ngoại lệ được quản lý cuối cùng trong tệp thực thi hỗn hợp/gốc được quản lý?
- 2. Chuyển đổi mã hóa tệp git kho
- 3. Loại tệp hỗn hợp với CarrierWave
- 4. Git: Đổi tên tệp
- 5. Cách xử lý nội địa hóa trong các tệp JavaScript?
- 6. Mã hóa tên tệp trong Java
- 7. Làm cách nào để kết hợp tập tin git với trước và sau xử lý?
- 8. Xử lý chuỗi có chứa nhiều mã hóa ký tự
- 9. Cách xử lý ký tự Châu Á trong tên tệp trong Git trên OS X
- 10. Git không thể khác biệt hoặc hợp nhất .cs tệp trong mã hóa utf-16
- 11. .NET Profiler miễn phí cho mã hỗn hợp .NET 4.0
- 12. Mã hóa hồ sơ Python sử dụng đa xử lý?
- 13. Trình xử lý PDF: tên tệp nội dung bố trí
- 14. Làm cách nào để xử lý url trường hợp hỗn hợp được lập chỉ mục hiện tại?
- 15. C++ WinAPI: xử lý đường dẫn/tên tệp dài
- 16. Đặt tên lớp hỗn loạn
- 17. WCF Xác thực hỗn hợp Tên người dùng và WIndows
- 18. Xử lý tên tệp ảnh chụp nhanh có nhân bản
- 19. Mã mã hóa địa lý đảo ngược
- 20. Có thể git mã hóa và giải mã một tệp trong khi đẩy/kéo không?
- 21. Cần xử lý git-submodules trong git-archive
- 22. Xử lý một phần tệp bằng bộ tiền xử lý
- 23. Cách xử lý quốc tế hóa javascript
- 24. xử lý tên tệp * tham số với dấu cách thông qua kết quả RFC 5987 trong '+' trong tên tệp
- 25. Có lý do nào để sử dụng javac trên groovyc trong một dự án mã hỗn hợp không?
- 26. Git có xử lý thêm/xóa dưới dạng đổi tên không?
- 27. Xử lý tên mông cổ
- 28. Gỡ lỗi mã Python/C++ hỗn hợp trong Eclipse
- 29. Cách xử lý các xung đột hợp nhất tích hợp Git
- 30. Hỗn hợp và .net
Sẽ dễ dàng hơn khi chuyển đổi tệp một lần và sử dụng UTF-8 trên Windows không? – TimWolla