【TortoiseGit】gitは正常に終了しませんでした(終了コード 1)の解決方法

gitは正常に終了しませんでした(終了コード 1)メッセージ

TortoiseGitでプッシュしようとしたら、こんなエラーが出た場合の対処法。

エラー内容

gitは正常に終了しませんでした(終了コード 1)

さらに、下記のようなメッセージが出ている場合。

error: object directory /192.168.1.XXX/YYYY/ZZZZ/objects does not exist; check .git/objects/info/alternates.

このような場合は、原因はGitのバグ

エラーメッセージ見たときに「ん?」と思ったけど、ネットワークフォルダのパスの先頭が「//」ではなく「/」になってる。

どうやらGit for Windows 2.11.0では既知のバグだそうで、Stack Overflowにも挙がってた。

git bash fail to push branch with error message: “object directory does not exist” – Stack Overflow
http://stackoverflow.com/questions/41115613/git-bash-fail-to-push-branch-with-error-message-object-directory-does-not-exis

解決方法

以下の方法で解決できる。

  • Git for Windows のバージョンを上げる(→ 2.12.0)
  • リポジトリのパスをネットワークドライブに指定する

Git for Windows のバージョンを上げる(→ 2.12.0)

Stack Overflowでも書かれていたけど、最新バージョン(2.12.0)では修正されているそう。

試しに最新版にアップデートしてみると、問題なくプッシュできた

最新版のダウンロードは以下のリンクからできる。

Git for Windows
https://git-for-windows.github.io/

リポジトリのパスをネットワークドライブに指定する

パスの先頭が「//」で始まるのが問題なので、ネットワークドライブを設定して「Z:\」などから始まるようにすればOK。

なんらかの制約で、Git for Windowsのバージョンを上げれない場合は、こちらで対応。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください