LoginSignup
3
1

More than 1 year has passed since last update.

【Git】"fatal: detected dubious ownership in repository at..."というエラーが出た場合に考えられる原因と解決策

Posted at

概要

  • git branchを実行したら、fatal: detected dubious ownership in repository at...というエラーメッセージが出てきました。本記事ではその原因と解決方法を記します。

エラーメッセージと意味

  • EC2インスタンスでgit branchを実行したら、、
$ git branch
fatal: detected dubious ownership in repository at '/var/www/html/sample_homepage'
To add an exception for this directory, call:

	git config --global --add safe.directory /var/www/html/sample_homepage
  • 上記のエラーメッセージが返ってきました。初めてみるメッセージでした。
  • 調べてみると、gitが指定されたリポジトリのディレクトリ所有者に疑念を抱いていることを示しているとのこと。

原因

  • Gitが一般的に使用されるデフォルトのユーザー名とグループ名(一般的には"git")と、実際にはファイルにアクセスするために使用されるユーザー名とグループ名が異なる場合に発生することがあるらしい。
  • 例えば、EC2インスタンス上で実行されるApacheウェブサーバーの場合、"apache"ユーザーと"apache"グループがファイルにアクセスするために使用されます。"git"ユーザーと"git"グループによって所有されていることを期待しているのに、実際には異なるユーザーとグループによって所有されているため、Gitが警告を出すということです。

解決策

  • エラーメッセージで提案されているように、次のコマンドを実行して、Gitに安全なディレクトリとして指定してあげると解決します。
$ git config --global --add safe.directory /var/www/html/sample_homepage
  • これにより、Gitはこのディレクトリに対して警告を出さなくなります。
    • 自分の場合はこれでgit branchもできるようになりました。
    • 必要に応じて、ファイルにアクセスするために使用されるユーザーとグループに合わせて、ディレクトリの所有者を変更することもできます。
  • ディレクトリの所有者が間違っている場合にも同じメッセージが出ます。具体的には以下のコマンドを使います。
    • usernameとgroupnameは、実際にディレクトリを使用するユーザーとグループに置き換えます。
$ sudo chown -R username:groupname /var/www/html/sample_homepage
3
1
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
3
1