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 .*.swp
củ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 --status
khi 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 --status
khi 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 --status
tiết lộ bất kỳ.*.sw[po]
-files nào làm:wa
trong 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.