環境
- Windows 10
- Git for Windows: 2.12.2
git add -p
をGUIで
同じファイル内での全ての変更を一度にコミットせず、分割したいときに使います。
コマンドラインでは下記の記事が詳しいです。
上の記事と同じ例で進めます。
下のようなテキストファイルを作成しコミット。
1: 島村卯月
2: 渋谷凛
3: 本田未央
4: 前川みく
5: 高森藍子
その後、下記のように修正します。
-1: 島村卯月
+1: 福山舞
2: 渋谷凛
3: 本田未央
4: 前川みく
-5: 高森藍子
+5: 日野茜
GitGUIではこのように表示されます。
この状態では2箇所の変更はひとつのハンク(Hunk: かたまり)として扱われていますが、分割することができます。
右クリックして「Show Less Context」を選ぶと、ハンクが分割されました。
ここで一方のハンクで右クリックして「Stage Hunk For Commit」を選べば、一方だけをコミットできます。
また、行が隣接していてハンクを分けられない場合は、「Stage Line For Commit」で1行だけを選べます。
なお、ハンクの増減にはショートカットキーが割り当てられています。
- Show Less Context: Ctrl+- (コントロールとマイナス)
- Show More Context: Ctrl+= (コントロールとイコール)
git stash
をGUIで
編集途中でaddもcommitもしていないが、急な用件で別のブランチに移動したいというときに使います。
コマンドラインでは下記の記事が詳しいです。
-
git stash
: 変更を一時的に退避!キメろgit stash - Qiita
この機能はGUIにはデフォルトでは備わっていません。
ただ、ツールとして追加できます。
メニューからTools > Add
と選んでください。
メニューで表示される名前を「Name」に、実行するコマンドを「Command」に入力します。
このとき、「Add globally」にチェックを入れることを忘れないでください。
追加したら「Tools」メニューから使用できます。
git stash apply
のように引数をその都度変えたいコマンドは、「Ask the user for additional arguments」にチェックを入れます。
グローバルに追加した機能はC:\Users\%USERNAME%\.gitconfig
に記録されます。
こちらを直接編集してもかまいません。
[guitool "Stash save"]
cmd = git stash save
[guitool "Stash list"]
cmd = git stash list
[guitool "Stash apply"]
cmd = git stash apply
argprompt = yes
[guitool "Stash drop"]
cmd = git stash drop
argprompt = yes
まとめ
GUIにはマイナーな命令はありませんし、複雑な処理をコピペで実行できるコマンドラインはやはり便利で、なくてはならないものです。
ただ、下記のようにGUIのメニューからGitBashを手軽に呼び出せるので、私は基本はGUIで、必要に応じてコマンドラインを使っています。