【Git】git addでステージングするファイルを対話的に選ぶ
git add でファイルをステージングする際に、ファイル名を指定するのが面倒。
かといって、一気にすべてをステージングしたくない。
そんなときの方法。
対話的にファイルを選ぶ
git add -i オプションを使用する。
こんな感じに *** Commands *** で、なにをしたいかを聞いてくる。
$ git add -i
staged unstaged path
1: unchanged +8/-2 sampleBrowser/AppDelegate.m
2: unchanged +36/-3 sampleBrowser/Base.lproj/Main.storyboard
3: unchanged +21/-0 sampleBrowser/ViewController.m
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
操作の選択
ここでステージングしたい場合は、Commandsからupdateの2 または u を入力する。
What now> 2
すると、どのファイルに対しての操作かを聞いてくる。
staged unstaged path 1: unchanged +8/-2 sampleBrowser/AppDelegate.m 2: unchanged +36/-3 sampleBrowser/Base.lproj/Main.storyboard 3: unchanged +21/-0 sampleBrowser/ViewController.m Update>>
ファイルの選択
操作したいファイルの番号を入力する。
今回は2番目のファイル(sampleBrowser/Base.lproj/Main.storyboard)を対象。
複数ファイルを選ぶ場合には、1,2 のようにカンマで区切る。
Update>> 2
すると、対象のファイルには * が表示される。
staged unstaged path 1: unchanged +8/-2 sampleBrowser/AppDelegate.m * 2: unchanged +36/-3 sampleBrowser/Base.lproj/Main.storyboard 3: unchanged +21/-0 sampleBrowser/ViewController.m Update>>
操作の実行
ここで、何も入力せずにEnterを押下で実行となり、ステージングされる。
Update>> updated one path *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now>
終了
対話操作の終了は、ここでCommandsからquitの 7 または q を入力すればOK。
What now> 7 Bye.
その他
他によくやる操作(Commands)は、
- 1: status(git statusと同じ)
- 3: revert(ステージングの取り消し)
- 6: diff(ステージした変更のdiffを確認する)
便利。
いつのまにか
いつのまにかKindleで半額セールが始まってた。この本にはいつもお世話になってます。

- 作者: 川野辺正博
- 出版社/メーカー: 秀和システム
- 発売日: 2014/10/07
- メディア: Kindle版
- この商品を含むブログを見る