Quando modifico il codice sorgente usando gvim (v.7.4.488), voglio commettere alcune modifiche al vcs (sto usando git 2.1.4 dalla riga di comando in Ubuntu Linux).
git --status
mostra quali file ho modificato. Tuttavia, mostra anche la vim .*.swp
dei buffer attualmente visibili (sia se il file contiene modifiche non salvate sia quando il file modificato è uguale al .*.swp
file -file). Ovviamente, git può ignorare questi file o vim può archiviare i file di scambio in una posizione diversa (vedi vim.wikia o questa domanda su StackOverflow ). Ma mi piacciono i file che .*.swp
compaiono git --status
quando contengono modifiche non salvate, poiché mi segnala che sto eseguendo il commit di file in uno stato diverso rispetto a quello in cui penso si trovino.
Come posso evitare i falsi positivi di .*.swp
-file che appaiono git --status
quando il file salvato è uguale al .*.swp
-file, mentre sono in grado di vedere che il file da commettere è in uno stato diverso da quelli che sto modificando con VIM?
- È possibile avere solo
.*.swp
-file, quando file su disco e file in vim sono diversi? - Esiste un altro modo per rilevare i file non salvati?
La combinazione dei commenti di @elyashiv e @VanLaser si traduce in un metodo più semplice rispetto al rilevamento se i file di scambio implicano file non salvati:
- non lasciare che git ignori i file. *. sw [po];
- quando si commette, se
git --status
rivela qualche file,.*.sw[po]
fare un:wa
in vi; e, - aggiungere e impegnare.
git commit
...
:wa
per assicurarti che non ci siano file non salvati.