16
14

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.

fswatchの使い方覚書 + fswatchでフォルダを監視して自動commitする

Last updated at Posted at 2016-07-19

環境

  • MACOSX:10.11.5
  • fswatch:1.9.2

fswatch

ディレクトリの中身を監視して、変更結果を次の処理に渡してあげることでいろんなことができます。
公式ホームページ
How to User fswatch

インストール

brew install fswatch

基本の使い方

自分が使うときに調べた分は以下に書きたいと思います。残りについては公式のドキュメント(1.9.2)に詳しくまとまっているのでそちらをご参照ください。

fswatch -o [path] | xargs -n1 -I{} [program]

この[path]に監視したいディレクトリのパスを入れてもらって、[program]に実行したい処理を書きます。
ちなみに-I{}を取り除くことで、fswatchで取得したファイルのパスが[program]で使えるようになります。つまり、

fswatch -o [path] | xargs -n1 cat

で変更のあったファイルへのパスが標準出力へ出力されます。

fswatchでフォルダを監視して自動commitする

fswatch -0 . -e "\\.git.*" | xargs -0 -n 1 -I{} git commit -am "edit file"

この記事の本題です。
.gitファイルの変更は除外するために-e (execlude)を使いました。-eは正規表現を使って監視から除外するものを指定できるようです。

ドキュメントや論文をWordで書いているとき、Wordの履歴機能が心もとないことに加えて、でもGitで管理しようとすると、いちいちWordから離れてcommitするのが面倒くさい。
そんな2つの理由からfswatchを使おうと思いました。
ただ今となっては、Dropboxの履歴管理機能で十分だったなと思っています。

もしも使う場合は、みなさまご自身の責任で利用してください。

Git勉強中であることと、チーム開発をあまりしないので確信はもてませんが、チームで開発しているのに変更を全てcommitなんてしたらお怒りになる方も多いと思います。。。
Guard で Git コミットを自動で行う
こちらの記事で自動コミットについてコメントされている方がいらっしゃいました。

以上です。

16
14
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
16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?