最近 Git を使っていて、「detected dubious ownership in repository at … 」というエラーに出遭いました。
エラーの内容
Git のバージョン 2.35.2 以降で発生するようで、日本語に訳されたものだと 「疑わしい所有権」というものになる模様。確かに Windows の環境でも、エラーメッセージにはフォルダの所有権が違う、という感じのものになっています。
発生要因
今回自分がこのエラーに出遭ったのは、PC の OS 再インストール作業をしたためです。データドライブはそのままにして、OS のドライブだけを入れ替えたのですが、以前のOSでのユーザー情報でリポジトリデータにアクセスしてしまったためです。
おそらく、Windows ドメイン管理されているユーザーであれば、PCを跨いだり、使用OSを入れ替えてもユーザー情報は変わらないと考えられるので、本エラーに出遭わないと思います。
解決策について
git config で safe.directory というパラメータをセットすることでも解決ができるようです。
git config --global --add safe.directory '(ディレクトリを記載)'
しかし、可能ならば所有権を合わせてしまうほうがよいと考えます。フォルダのプロパティを開いてセキュリティを確認してみると、以下のような感じで、所有者情報が意図しない状況になっています。
ここの所有者の変更から、現在使用しているユーザーを所有者とするように変更を行います。現在のユーザーに変更の際には、「サブコンテナーとオブジェクトの所有者を置き換える」というチェックボックス項目が出てくるので、これにチェックを入れて適用ボタンを押します。
コマンドラインで処理するには
管理者として起動したコマンドプロンプトで、以下のようなコマンドを実行します。
takeown /F (リポジトリのファイルパス) /R
コメント