LoginSignup
2
4

More than 5 years have passed since last update.

Git GUIの便利な機能

Posted at

環境

  • Windows 10
  • Git for Windows: 2.12.2

git add -pをGUIで

同じファイル内での全ての変更を一度にコミットせず、分割したいときに使います。
コマンドラインでは下記の記事が詳しいです。

上の記事と同じ例で進めます。
下のようなテキストファイルを作成しコミット。

members
1: 島村卯月
2: 渋谷凛
3: 本田未央
4: 前川みく
5: 高森藍子

その後、下記のように修正します。

-1: 島村卯月
+1: 福山舞
 2: 渋谷凛
 3: 本田未央
 4: 前川みく
-5: 高森藍子
+5: 日野茜

GitGUIではこのように表示されます。
この状態では2箇所の変更はひとつのハンク(Hunk: かたまり)として扱われていますが、分割することができます。
001.png

右クリックして「Show Less Context」を選ぶと、ハンクが分割されました。
ここで一方のハンクで右クリックして「Stage Hunk For Commit」を選べば、一方だけをコミットできます。
また、行が隣接していてハンクを分けられない場合は、「Stage Line For Commit」で1行だけを選べます。
002.png

なお、ハンクの増減にはショートカットキーが割り当てられています。

  • Show Less Context: Ctrl+- (コントロールとマイナス)
  • Show More Context: Ctrl+= (コントロールとイコール)

git stashをGUIで

編集途中でaddもcommitもしていないが、急な用件で別のブランチに移動したいというときに使います。
コマンドラインでは下記の記事が詳しいです。

この機能はGUIにはデフォルトでは備わっていません。
ただ、ツールとして追加できます。
メニューからTools > Addと選んでください。
003.png

メニューで表示される名前を「Name」に、実行するコマンドを「Command」に入力します。
このとき、「Add globally」にチェックを入れることを忘れないでください。
追加したら「Tools」メニューから使用できます。
004.png

git stash applyのように引数をその都度変えたいコマンドは、「Ask the user for additional arguments」にチェックを入れます。
005.png

グローバルに追加した機能はC:\Users\%USERNAME%\.gitconfigに記録されます。
こちらを直接編集してもかまいません。

.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で、必要に応じてコマンドラインを使っています。
006.png

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4