Gitを使い始めてから使っている俺々スクリプトの紹介。Gitで管理したくないファイルを消したり.gitignoreに追加したりを簡単にするスクリプトです。
git status -s
$ git status
の出力って色々うるさくないですか?あれがすげー見づらいので僕は$ git status -s
を使っています。
もっと言うとglobalな.gitconfigにエイリアスを書いてあるのでこんな風に使えるようにしています。
$ git s
おまけ
# ~/.gitconfig
[alias]
co = checkout
s = status -s --branch
br = branch
di = diff
d = diff
dc = diff --cached
追跡されていないファイルを無視指定する
ローカルで自動生成されたファイルを無視したりしたいときありますよね。手動で書くのは面倒なので、$ git s
の出力から??
なものだけを抽出するスクリプトを噛ませて使うと便利です。
このスクリプトをパスが通ったところに置きます。sedとか使えばスクリプトを使う必要もないしシェルスクリプトでも全然できるんですが、楽なのでRubyで書きました。
git-untrack-files.rb
例えばこんな状況化だとします。
$ git s
M Hoge
A HogeHoge
M HogeHogeHoge
?? Piyo
?? PiyoPiyo/
さっきのスクリプトを通すとこう。
$ git s | git-untrack-files.rb
Piyo
PiyoPiyo/
で、こうしましょう。
$ git s | git-untrack-files.rb >> .gitignore
追跡されていないファイルを削除する
さっきのスクリプトを使ってもできます。
$ git s | git-untrack-files.rb | xargs rm -rf
が、それも面倒だったので専用スクリプト書きました。
git-remove-untrack.rb
$ git s | git-remove-untrack.rb