gvim(v.7.4.488)を使用してソースコードを編集するとき、vcsにいくつかの変更をコミットしたい(Ubuntu linuxのコマンドラインからgit 2.1.4を使用しています)。
git --status
変更したファイルを示します。ただし、.*.swp
現在表示されているバッファーのvimも表示されます(ファイルに未保存の変更が含まれている場合、および編集されたファイルが.*.swp
-file と同じ場合)。もちろん、gitはこれらのファイルを無視することも、vimがスワップファイルを別の場所に保存することもできます(vim.wikiaまたはstackoverflowのこの質問を参照)。しかし、保存.*.swp
されgit --status
ていない変更が含まれているときに-filesが表示されるのは気に入っています。これは、自分が思っているのとは異なる状態でファイルをコミットしていることを示しているからです。
保存したファイルが-file と同じ.*.swp
であるgit --status
ときに表示される-files の誤検知を回避し.*.swp
ながら、コミットするファイルがvimで編集しているものとは異なる状態であることを確認できますか?
.*.swp
ディスク上のファイルとvim内のファイルが異なる場合、-files のみを持つことは可能ですか?- 保存されていないファイルを検出する他の方法はありますか?
@elyashivと@VanLaserのコメントを組み合わせると、スワップファイルが未保存のファイルを意味するかどうかを検出するよりも簡単な方法になります。
- gitに。*。sw [po]ファイルを無視させないでください。
- コミット時に、ファイルが
git --status
明らかになった場合はviで.*.sw[po]
a:wa
を実行します。そして、 - 追加してコミットします。
git commit
...
:wa
保存していないファイルがないことを確認するために使用できます。