1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

シェルスクリプトで、とあるファイルがmasterブランチと差分があったら実行する

Last updated at Posted at 2019-06-24

CIとかでとあるファイルに差分があった場合のみ特定の処理を実行したい時とかあると思います。
実際にあるか不明ですが、下記はカレントブランチとmasterブランチの間でdb/schema.rbに差分が合った場合
echoするシェルスクリプトの例になります。

if test $(git diff origin/master --name-only | grep db/schema.rb | wc -l) -ne 0; then                                                                                                                                                                                    
 echo 差分がありました
fi

解説

git diffに--name-onlyオプションをつけることで差分があったファイル名一覧を出すことができます。

git diff origin/master --name-only

それを差分を知りたいファイル名でgrepし、その結果の行数をwcコマンドで出しています。
行数が0だったら差分なし、0じゃない場合は差分があるものとして検知しています。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?