TortoiseGit で git add -p 相当できた


git には部分コミットを行う機能があります。これがコマンドでは git add -p ですが、 TortoiseGit からもこれと同じことが実現できることがわかったので記録しておきます。

まずは以下のように題材となるデータを用意してみました。
ある要求に対応するコードを実装したものの、途中で発見したバグを同時に直してしまったというケースです。このような場合にはバグ修正と機能追加といったように2つのコミットに分割するのが正しいです。

git-add-1

部分コミットのやり方は簡単です。まずは通常のコミットと同じようにメッセージを入力するウィンドウまで出します。そして、部分コミットを行いたい該当のファイルを右クリックして、「コミット後に復元」のメニューを選択します。
git-add-2

すると以下の図のようにアイコンが変わります。
git-add-3

この状態でファイルの項目をダブルクリックしてTortoiseMerge を開き、今コミットしたい内容だけになるようにエディット&保存を行い、ウィンドウを閉じます。

git-add-4

この後はそのままコミットに関するメッセージを入力して、コミットを行います。
そして、再度ファイルの状態を確認してみると以下のような感じになっています。

git-add-5
コミット直前に削除した部分が見事に復活しています。そしてバグ修正部分だけが残った状態となっているので、このままバグ修正コミットを続けて行うこともできます。

コマンドラインで git に聞かれながらHunk単位でY/N答えていくよりも、仮にもエディタ上で編集できるのでやりやすいと思います。うまく活用してきれいなコミットログを積み重ねていきたいですね

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする