WSLでやらかした、ちょっと恥ずかしいGitコミットの話

失敗のはじまり

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

WSL(Windows Subsystem for Linux)に初めて触った頃の話です。
環境も操作もまだ慣れていなくて、今振り返ると少し微笑ましい失敗をしました。

ある日、自分の担当部分のコーディングが終わり、WSL上のCLIからGitでコミットしようとしました。すると表示されたのが、見覚えはあるけれど当時は少し焦ったこのエラーです。

「なるほど」と思い、言われた通りに設定しました。
…ただし、Windowsのコマンドプロンプト上で。
当然ですが、WSLに戻ってもう一度git commitしてみると、エラーは何一つ変わっていません。
少し困ってしまい、なぜかそのときの自分はWSL上で sudo git commit を試してみました。
すると今度は、あっさりコミット成功。
「よし、解決した!」と思い、そのままpush。
一安心してcommit履歴を確認した瞬間、違和感に気づきました。
…コミットの作者名が、自分ではなく root になっていました。

ここでようやく、すべてを理解しました。
 ・WindowsとWSLでは Gitの設定が別物
 ・sudo を使ったことで、コミットのauthorが root になった
 ・結果として、自分のコードなのに別人(?)名義のコミットが生まれた

 

この失敗から学んだこと

大きな事故ではありませんでしたが、この出来事からいくつか大切なことを学びました。
 ・WSLとWindowsは「同じようで、別の環境」
 ・必要がない限り、sudo は使わない
 ・何よりも、「今どの環境で作業しているか」をちゃんと意識すること

それ以来、新しい環境をセットアップするときは、まずGitの設定を確認するようになりました。ちょっとした確認不足が、思わぬ“身元不明コミット”につながることもある、という教訓です。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス