目次
検証環境
- Windows 10 Pro 64bit (21H2)
- Git for Windows 2.38.1
- TortoiseGit 2.13.0.1
問題
TortoiseGitで「fatal: detected dubious ownership in repository」のエラーが出る
これは、そのローカルリポジトリのフォルダの所有者が自分では無い(ログインした時のユーザーでは無い)場合に起きる模様
Gitの脆弱性に対してのセキュリティー対策らしい
ちなみに、このダイアログをアクティブにした状態で[Ctrl]+[C]キーを押すと、ダイアログの内容がテキストとしてコピー出来る
一番下の行が後記の解決法①で使えるので、これ知ってると楽
解決法
解決法としては2つあるが、基本は「解決法①」で解決した方が良い
「解決法②」は注意が必要(やるフォルダによっては間違えるとOS環境ぶっ壊す可能性がある)
解決法①Gitに「このフォルダは安全」と分からせる
以下の例は、ローカルリポジトリのフォルダが「D:\test」だったとして
以下のコマンドを、Powershellで実行する
コマンドプロンプト(DOSプロンプト)では駄目です
「D:¥test」のフォルダを安全なフォルダとして登録する
git config --global --add safe.directory D:/test
又は
git config --global --add safe.directory 'D:/test'
設定された内容を見る
git config --global -l
安全なフォルダの設定から「D:¥test」フォルダを外す
git config --global --unset-all safe.directory D:/test
又は
git config --global --unset-all safe.directory 'D:/test'
以下はこの3つのコマンドを使ってみた例のスクリーンショットです
注意点としては
フォルダパスのパス区切りの文字はWindows基準の「¥(\)」(円記号やバックスラッシュ)では無く、Linux基準の「/」(スラッシュ)を使う
大文字・小文字は区別される
例えば「D:/test」と「D:/TEST」は区別される
フォルダパスの一番後ろには、パス区切り記号は付けない
例えば「D:/test/」は駄目で「D:/test」とする
解決法②ローカルリポジトリのフォルダの所有権を自分にする
そのフォルダ全てが自分で掘ったフォルダだと分かっている場合、そのフォルダの所有者を自分にする…という手もある
だがこちらの方法は、やるフォルダによっては間違えるとOS環境ぶっ壊す可能性があるので、意味が分からない人はこの方法をやらない方が良い
特殊なフォルダ…例えば「OSが作ったフォルダ」「NAS」「クラウドストレージ」「WSL上の仮想ディレクトリ」…等などのフォルダ下にある場合、所有者を変えると他に影響する恐れがあるので、この方法をやらない方が良い
ローカルリポジトリのフォルダを右クリック→「プロパティ」
「セキュリティ」タブ→「詳細設定」ボタン
「所有者」の「変更」リンクを選択
自分のユーザーID(ログオンID)を入力→「名前を確認」ボタン→エラーダイアログが出なかったら「OK」ボタン
※「名前を確認」でエラーダイアログが出る場合、入れたユーザーIDが間違ってます
「サブコンテナーとオブジェクトの所有者を置き換える」にチェックが入っているか確認→「OK」ボタン
何故私の環境でこのエラーが出たか
ローカルリポジトリのフォルダの所有者が「Administrator」になっていた
何故そうなったのかは、以下予想でしかないが
古いPCから新しいPCへ環境を移行する際、ローカルリポジトリのフォルダのコピーを「Administrator」のユーザーで行い、そのせいで所有者が「Administrator」になってしまったんだと思われる
参考Webページ
- TortoiseGitでコミットやログ見たり(リポジトリーにアクセスする処理)すると『fatal:unsafe repository…』の例外 - Qiita
- Gitで「fatal: detected dubious ownership in repository」が出力されコミットできない場合 | チグサウェブ
- いきなりgitが使えなくなった - 2022(山崎はるかのメモ)
- バージョン管理システム「Git」にセキュリティ上の脆弱性、Git for Windowsユーザーやマルチユーザー環境利用者が取るべき対処法は? - GIGAZINE
- Windows10でファイルやフォルダーの所有者を変更する方法 – iBitzEdge
トラックバック URL
https://moondoldo.com/wordpress/wp-trackback.php?p=8481