porcelainオプションでgit statusの出力をmachine-readableにする

  • 2
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

以下のような見慣れた出力を、他の処理の入力として使いたいとする。

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   first
        new file:   second

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   first

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        third

porcelainオプションを使うとファイルごとの出力になる。

$ git status --porcelain
MM first
A  second
?? third

フォーマットの詳細は

$ man git-status

補足

porcelainとは磁器のことで、gitのコマンドのうち比較的ユーザーフレンドリーな部分をporcelainと呼ぶ。

ただし--porcelainオプションの機能は、porcelainコマンドを実行することというよりはmachine-readableな出力をさせることのようである。

  • この記事は以下の記事からリンクされています
  • react_on_rails導入からリンク