Khi một tệp được mở trong trình chỉnh sửa (nói Siêu cấp hoặc Atom) và tệp được chỉnh sửa bên ngoài trình chỉnh sửa, trình chỉnh sửa luôn từ chối làm mới tệp mà nó hiển thị. Tình trạng này hiếm khi xảy ra, vì hầu hết mọi người sẽ chỉ sử dụng một công cụ duy nhất để chỉnh sửa tệp trong một khung thời gian cụ thể. Đây rõ ràng không phải là vấn đề khi tệp chỉ đọc. Ví dụ, khi đọc nhật ký lỗi hệ thống, tệp sẽ được cập nhật khi hệ thống đang chạy và có thể có nhật ký lỗi mới, nhưng tệp nhật ký sẽ không được chỉnh sửa để nó không gây xung đột.Có cách nào để ngăn chặn tình cờ ghi đè sau khi git kéo do trình chỉnh sửa không tự động cập nhật không?
Tuy nhiên, nó gây ra sự cố khi tệp được cập nhật bởi git pull
.
Khi một người kéo các bản cập nhật mới nhất cho repo, anh ấy có thể mở một tệp trong trình chỉnh sửa mà một số thay đổi đã được thực hiện trong bản cập nhật. Nếu trình chỉnh sửa không làm mới tệp, tệp được lưu với nội dung cũ và mọi thay đổi mới sẽ bị mất.
Đôi khi, nó chỉ gây phiền toái để đảo ngược hunk bằng cách sử dụng sourcetree, nhưng khi có một số tệp được cập nhật, ghi đè đó có thể được đẩy tới máy chủ git không được chú ý - cho đến khi xảy ra lỗi. Hiện tại chúng tôi đang sử dụng lệnh git log --follow -p -- file
để định vị và hoàn nguyên lỗi, nhưng không thể nếu ghi đè không được chú ý trong thời gian , buộc chúng tôi sao chép các dòng theo cách thủ công. Có cách nào để ngăn chặn loại ghi đè này ngay từ đầu không?
Giải pháp tôi sẽ sử dụng sẽ là di chuyển khỏi các trình chỉnh sửa hoạt động theo cách này. IDE hiện đại nhất (Eclipse, IntelliJ, NetBeans, v.v.) không có vấn đề này. –
Bất kỳ tùy chọn nào cho PHP? (và tốt hơn để được tự do, do đó PHPStorm không phải là một lựa chọn) – cytsunny
Tôi nghĩ rằng tôi đã nhìn thấy điều này xảy ra ngay cả với IntelliJ một vài lần, nhưng nó không bao giờ là một vấn đề đủ lớn để lo lắng hơn. Tôi không biết những gì biên tập viên bạn có thể sử dụng cho PHP mà sẽ tránh điều này. Notepad ++ có vẻ rất cư xử tốt trong lĩnh vực này, tức là nó không ăn các cập nhật của bạn. –