Khi chỉnh sửa mã nguồn bằng gvim (v.7.4.488), tôi muốn thực hiện một số thay đổi vcs (Tôi đang sử dụng git 2.1.4 từ dòng lệnh trong Ubuntu linux).
git --status
hiển thị những tập tin tôi đã thay đổi. Tuy nhiên, nó cũng hiển thị vim .*.swpcủa (các) bộ đệm hiện có thể nhìn thấy (cả hai nếu tệp chứa các thay đổi chưa được lưu và khi tệp được chỉnh sửa giống như .*.swp-file). Tất nhiên, git có thể bỏ qua các tệp này hoặc vim có thể lưu trữ các tệp hoán đổi ở một vị trí khác (xem vim.wikia hoặc câu hỏi này tại stackoverflow ). Nhưng tôi thích các .*.swp-files hiển thị git --statuskhi chúng chứa các thay đổi chưa được lưu, vì nó báo hiệu cho tôi rằng tôi đang thực hiện các tệp ở trạng thái khác với những gì tôi nghĩ chúng đang ở.
Làm cách nào tôi có thể tránh các lỗi tích cực của .*.swp-files hiển thị git --statuskhi tệp đã lưu giống với .*.swp-file, trong khi có thể thấy tệp đó để cam kết ở trạng thái khác với tệp tôi đang chỉnh sửa bằng vim?
- Có thể chỉ có
.*.swp-files, khi tệp trên đĩa và tệp trong vim khác nhau không? - Có cách nào khác để phát hiện các tập tin chưa được lưu?
Kết hợp các nhận xét của @elyashiv và @VanLaser dẫn đến một phương pháp đơn giản hơn là phát hiện xem các tệp hoán đổi có ngụ ý các tệp chưa được lưu hay không:
- đừng để git bỏ qua các tập tin. *. sw [po];
- khi cam kết, nếu
git --statustiết lộ bất kỳ.*.sw[po]-files nào làm:watrong vi; và, - thêm và cam kết.
git commit...
:wađể đảm bảo không có bất kỳ tệp nào chưa được lưu.