3
2

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 3 years have passed since last update.

Gitでcommitするファイルを自動でフォーマットする

Last updated at Posted at 2020-06-19

Gitでcommitするファイルを自動でフォーマットする

コピペ用

echo "
#\!/bin/sh

cargo fmt

for FILE in \`git diff --staged --name-only\`; do
    git add \$FILE
done
" > pre-commit && \
chmod 755 pre-commit && \
mv pre-commit .git/hooks/pre-commit

備忘録です

Git フックを使っています

例として、Rustで書かれたソースコードをフォーマットしていますが、他の言語でも同じようにできます

方法

ファイルpre-commitを作成する

pre-commit
#!/bin/sh

cargo fmt

for FILE in `git diff --staged --name-only`; do
    git add $FILE
done

実行権限を付与する

chmod 755 pre-commit

ファイルを.git/hooks/pre-commitmvする

mv pre-commit .git/hooks/pre-commit

これで毎回コミット直前にpre-commitがシェルスクリプトとして実行されるようになるので、cargo fmtを行いフォーマットしたあと、すでにステージング済みのファイルの内、変更があったファイルを再びaddしてくれます

そしてその後にコミットが行われます

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?