ソースコードにある目的をもって機能追加している際、機能とは関係ないバグを見つけることがあると思います。
Subversionやgitといったソースコード管理の仕組みを導入している場合、一つのコミット単位にいろいろな変更を入れてしまうと、後々管理が大変になってしまいます。例えば、Aという機能をやっぱり後で削除しようとした場合、Aの機能のコミットに、このバグ修正が入っていると、このバグ修正も削除されてしまいます。
こういった事態を回避するために、gitでは、statshを使えば便利です。
$ git stash
で、現在の変更点を横にのけて、バグを修正。add, commit した後、
$ git stash pop
で、横にのけておいた変更を元に戻せます。