2017-12-19 13 views
-1

コミットする前にコードに対してformatコマンドを実行しようとしています。私はそれがコミットする前に、フォーマットされていないか、自動的にコミットしないようにしたい。コミット後にGitプリコミットが実行されていますか?

コミットが発生し、コミット後にフォーマットされていない変更が適用されます。ここで

は私.git/hooks/pre-commitです:

#!/bin/bash 

go fmt src/*.go 
+1

あなたのスクリプトは、コミットする前に作業ツリーファイルをフォーマットしています。 (pre-commitはそれが言っていることを意味します)。あなたの問題は、これはすでに行われていることをコミットするだけのあなたのコミットとは無関係であるということです。これがあなたの主な問題を解決するわけではありません。 –

答えて

1

インデックスにファイルを追加し、フォーマットした後:

#!/bin/bash 

go fmt src/*.go 
git add src/*.go 
exit 0 

おそらくあなたのREADMEに、このフックを言及する良いでしょう。ちょうどあなたは忘れないでください。

このコミットのコードを編集すると、go fmtの変更と区別できなくなる可能性があります。

+0

これは、オリジナルの意図であるかどうかにかかわらず、すでに追加されたファイルへの変更を含め、コミットに 'src/*。go'と一致するすべてのファイルを追加することに注意してください。 – Tonio

0

イアンのコードを読んだ後、私は働いているようなアイデアがありました。

#!/bin/bash 

go fmt src/*.go 
git add src/*.go 
関連する問題