2.

gitのエラー一覧

編集
この記事の要点
  • Git のエラー一覧入口ページ
  • カテゴリ: リモート/プッシュ系 / 作業ツリー・インデックス系 / 参照名・ファイル指定系 / ロック・プロセス系
  • 切り分け順: エラーメッセージ最初の 1 行を読む → git status 確認 → git log --oneline -20
  • 子ページから個別のエラーを選択

 

gitのエラー一覧に関する記事です。

子ページからエラーを選択してください。

エラーが出たときの調べ方

gitのエラーはコマンドを実行した直後にメッセージで原因が示されます。まず次を確認します。

  1. エラーメッセージの最初の1行を読む(fatal / error / hint の見出しが種類を表す)
  2. git status で現在の作業ツリーとインデックスの状態を確認
  3. 必要なら git log --oneline -20 で直近のコミット履歴を確認

エラーをカテゴリ別に分類

本ページの子ページは大きく次のカテゴリに分かれます。

リモート/プッシュ系

  • remote origin already exists — リモートを二重登録
  • does not appear to be a git repository — リモートURLの誤り/アクセス権なし
  • denying non-fast-forward — リモートが進んでいる状態でのpush拒否

作業ツリー/インデックス系

  • You have unstaged changes — rebase / merge の前に未保存変更がある
  • local changes ... would be overwritten by checkout — checkoutで未コミットの変更が消えるのを防いで停止
  • The following untracked working tree files would be overwritten — 未追跡ファイルと衝突

参照名/ファイル指定系

  • pathspec ... did not match any file(s) — 指定パス・ブランチ名のtypo
  • Not a valid object name: 'master' — ブランチ未作成(初期化直後など)

ロック/プロセス系

  • Unlink of file failed — ファイルが他プロセスで開かれている/権限
  • Another git process seems to be running.git/index.lock が残っている

共通する基本の対処

  • 未コミット変更を一時退避したい → git stash
  • ローカルをリモートに合わせて強制リセットしたい(注意) → git fetch origin && git reset --hard origin/main
  • マージ/リベース中断 → git rebase --abort / git merge --abort
  • 状況を全体把握 → git statusgit log --oneline --all --graph -20

関連

編集
Post Share
子ページ
  1. fatal: remote origin already exists.
  2. fatal: '~' does not appear to be a git repository
  3. Cannot rebase: You have unstaged changes. Please commit or stash them.
  4. remote: error: denying non-fast-forward refs/heads/master (you should pull first)
  5. error: pathspec ... did not match any file(s) known to git.
  6. The following untracked working tree files would be overwritten by checkout
  7. fatal: Not a valid object name: 'master'.
  8. Unlink of file 'ファイル名' failed. Should I try again? (y/n)
  9. Another git process seems to be running in this repository, ~
  10. error: Your local changes to the following files would be overwritten by checkout:
同階層のページ
  1. 用語一覧
  2. エラー一覧
  3. git本体のインストール(Linux)
  4. Linuxサーバーへのgit導入とクライアントのセットアップ
  5. リモートリポジトリをローカルリポジトリとしてクローンする方法
  6. リモートとローカルのリポジトリを同期(pull)する方法
  7. 設定の確認
  8. gitユーザー名とemailの設定
  9. リモートリポジトリの作成
  10. ローカルリポジトリの作成
  11. 新規ファイル/ディレクトリをインデックスに登録
  12. インデックスの登録状態を確認
  13. ローカルリポジトリの変更をコミット
  14. コミット履歴の確認
  15. クライアントからリモートリポジトリの接続設定、確認、削除
  16. リポジトリへのプッシュ
  17. リモートリポジトリからクライアントへのSSHクローン
  18. リモートとローカルの差分表示
  19. バージョンの確認
  20. プロキシの設定
  21. ローカルをリモートリポジトリの状態に戻す
  22. ブランチの作成, 一覧表示, 切り替え
  23. ブランチのマージと削除
  24. リベース
  25. .gitignoreの書き方
  26. .gitignoreの設定が反映されない場合
  27. 特定のファイルをgitの管理から外す方法
  28. 参照(ORIG_HEAD, HEAD, FETCH_HEAD)
  29. git rm [-r --cached] の取り消し
  30. 一部のディレクトリ/ファイルのみをリポジトリから復元する方法
  31. ローカルとリモートリポジトリの有無を同期
  32. pushの取消し方法
  33. マージツールの起動方法
  34. Gitで「MERGING」の状態a