はじめに
VSCodeのDevContainersでGitを使用した際にfatal: detected dubious ownership in repository
が出力され処理が終了しない場合の対処法について記載します。
対処法
devcontainer.json
のpostCreateCommand
で次を実行するように設定します。
devcontainer.json
{
"postCreateCommand": "sudo git config --system --add safe.directory ${containerWorkspaceFolder}"
}
--global
で実行すると~/.gitconfig
が作成されホストの.gitconfig
が反映されなくなるため--system
を使用しています。
コマンドを別のファイルに記述する場合には以下のように記述します。
ワーキングディレクトリをsafe.directoryに設定する場合には
sample.sh
sudo git config --system --add safe.directory "${PWD}"
レポジトリルートをsafe.directoryに設定する場合には
sample.sh
sudo git config --system --add safe.directory "$(git rev-parse --show-toplevel)"
上記以外の方法
レポジトリルートでsudo -R ${USER} ./
を実行しても解消されました。