0
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 1 year has passed since last update.

安心して!Gitでコミットエラー起きてファイルどっか行った気がしたときに確認すること

Last updated at Posted at 2022-01-27

git commitでコミットエラーが起きて、 変更ファイルがどっか行って超焦りました。

どんなエラーだったか、どうやって解消したかを書いておきます!

コンソール見たらこんな感じのエラーだった

error Delete `..` prettier/prettier

はて。。??

結論ファイル復元できたし、コミット成功まで行ったよ

結論から言うと、コミット失敗したファイルは自動的に退避してくれていたので、以下を参考に復元することができました。

git stash list
git stash apply [復元したい内容が含まれているインデックス番号]

2日くらいかかった修正なので、戻ってよかったです。。

じゃあ、なぜコミット失敗したの?

では、なぜコミット失敗したのかですが、git commitを契機にeslintによるソースコードの静的チェックとPrettierによるコードフォーマットチェックが行われ、変更ファイル内にエラーが存在したためです。

昨日までの僕にはこの説明では何のこっちゃ分かりません。

↓eslintって何ですのん?

↓Prettierって何ですのん?

git commitでeslintやPrettierを実行できる機能があるの?と昨日までの僕は勘違いしていました。

git commit実行時にeslintやPrettierを実行するためには、huskyとlint-stagedというツールを使って実現しています。(また訳のわからない・・)

↓huskyとlint-stagedって何ですのん?

つまり、 処理順番をまとまると、以下の感じですかね。

  1. git commit時に発生するGitフック「pre-commit」をhuskyでハンドリング
  2. huskyの設定で「pre-commit」時の処理をlint-stagedに設定しておく
  3. lint-stagedによってGitステージング上のファイルを対象にeslintやPrettierを実行

僕の書いたソースコードは③でPrettierによるフォーマットチェックでエラーになっていた訳ですね。

じゃあどうやってコミット成功まで行ったの?

愚直にいくと、エラーを全て自力で解消するということになるのですが、そこはコマンドが用意されていました。助かった!

yarn run lint –-fix

--fixオプションをつけることで、フォーマットの自動補正してくれるようです。ここら辺参考にしました。

参考リンク

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