git addで毎回ファイルパスをコピーするのが面倒!
これまでの課題
git add するときに毎回ファイルパスをコピーして、貼り付けるみたいな操作がかなり面倒。どうにかならないか?
対策1: "git add -i"を使用する
$ git status On branch branchA Changes not staged for commit: modified: src/main.php $ git add -i staged unstaged path 1: unchanged +1/-1 src/main.php *** Commands ***(*1) 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now> 2 staged unstaged path 1: unchanged +1/-1 src/main.php Update>> 1 staged unstaged path * 1: unchanged +1/-1 src/main.php Update>> # Enter updated 1 path
*1 こちらを参考
1: 再度同じ画面(ステータス)
2: updateを指定すると、ファイルをステージングできるモードに入ります。
3:revertを指定すると、ステージングされたファイルをアンステージすることができます。
4:add untrackedで新規作成したファイルなどの未トラッキング状態のファイルをaddできます。
5:patchは2:updateと同じようにファイルのステージングを行います。
異なるのは、ハンクと呼ばれる一定行の単位で変更箇所を表示し、各ハンクについてステージングするかどうか訪ねてくる点です。
メリット:
- Git本来の機能で実現できる
- そこまで難しくない
デメリット:
- アントラックのファイル用、変更ファイルなどコマンドで切り替えないとaddできない
対策2:tigを使用する
以下の記事参考 qiita.com
操作 | ショートカット |
---|---|
git status | S |
git add | u |
git commit | C |
メリット:
- リッチなビューを持っている(logやrefなど)
- 慣れれば"git add -i"よりも爆速で操作できそう(直感)
デメリット:
- 操作に慣れるのに少し時間がかかりそう
まとめ
個人的にはrefやlogの一覧が見れたり、add / resetが簡単にできるのでtigを使おうと思ってます!