Saat mengedit kode sumber menggunakan gvim (v.7.4.488), saya ingin mengkomit beberapa perubahan vcs (Saya menggunakan git 2.1.4 dari baris perintah di Ubuntu linux).
git --status
menunjukkan file mana yang saya ubah. Namun, ini juga menunjukkan vim .*.swp
dari buffer yang terlihat saat ini (baik jika file tersebut berisi perubahan yang belum disimpan dan ketika file yang diedit sama dengan .*.swp
-file). Tentu, git dapat mengabaikan file-file ini atau vim dapat menyimpan file swap di lokasi yang berbeda (lihat vim.wikia atau pertanyaan ini di stackoverflow ). Tapi saya suka .*.swp
file -fil yang muncul git --status
ketika mereka berisi perubahan yang belum disimpan, karena itu menandakan saya bahwa saya melakukan file dalam keadaan yang berbeda dari apa yang saya pikirkan.
Bagaimana saya bisa menghindari kesalahan positif dari .*.swp
-file yang muncul git --status
ketika file yang disimpan sama dengan .*.swp
-file, sementara bisa melihat file yang dikomit berada dalam keadaan yang berbeda dari yang saya edit dengan vim?
- Apakah mungkin hanya memiliki
.*.swp
-file, ketika file pada disk dan file dalam vim berbeda? - Apakah ada cara lain untuk mendeteksi file yang belum disimpan?
Menggabungkan komentar @elyashiv dan @VanLaser menghasilkan metode yang lebih sederhana daripada mendeteksi apakah file swap menyiratkan file yang belum disimpan:
- jangan biarkan git mengabaikan file. *. sw [po];
- ketika melakukan, jika
git --status
mengungkapkan ada.*.sw[po]
-file melakukan:wa
in vi; dan, - tambahkan dan komit.
git commit
...
:wa
untuk memastikan tidak ada file yang belum disimpan.