やりたいこと
gitのリポジトリをCloneした直後などにgitから以下のメッセージが表示されPullなどができないことがあります。
Could not open repository.
libgit2 returned: repository path 'X:\XXXX' is not owned by current user
To add an exception for this directory call:
git config --global --add safe.directory 'X:\XXXX'
表示されたコマンドを少し変えて実行すればいいのですが、めんどくさいしルールもすぐ忘れるのでバッチにしました。
上にあるように手動でコマンドを実行するには表示されるコマンドを修正して実行する必要があります。
具体的にはフォルダのパスをかこっている’’を消す必要があります。
バッチの作成
リポジトリのルートフォルダに任意の名前でbatファイルを作成します。(例えばadd_safedir.bat)
作成したbatファイルをメモ帳などで開き以下のバッチをペーストして保存します。
set "current_dir=%~dp0"
set "m_dir=%current_dir:\=/%"
set "m_dir2=%m_dir:~0,-1%"
git config --global --add safe.directory %m_dir2%
pause
バッチの実行
保存したバッチをダブルクリックで実行します。
”続行するには何かキーを押してください . . .”と表示されますので何かキーを押してクローズしてください。
フォルダにスペースが入っている場合は動作しない可能性があります。
結果
gitでpullなどの操作ができるようになりました。
参考にさせていただいたサイト
git config --global --add safe.directory '...' が出たとき - Qiita
はじめにUSBメモリ上のディレクトリに対してリモートリポジトリ設定を行おうとすると,中々うまくいきませんでした.かなり手こずってしまったので,私の場合の解決方法を残しておきます.環境Wind…
BATファイルで文字列の切り出し
コメント