問題:
?
我可能移動了一個VS C# 項目,然后,發現里面的git版本檢測不能用了
正在打開存儲庫:
X:\Prj_C#\3D
fatal: detected dubious ownership in repository at 'X:/Prj_C#/3DSnapCatch'
'X:/Prj_C#/3D' is owned by:
'S-1-5-32-544'
but the current user is:
'S-1-5-21-900372847-2521881049-1049374117-1001'
To add an exception for this directory, call:?? ?git config --global --add safe.directory 'X:/Prj_C#/3DSnapCatch'
一個做了很久的項目,然后,COPY來,COPY去,后來,客戶發了問題要修改,看git版本,VS 里面的git給出了安全的提示。就是不同的用戶,你不能訪問了。估計是VS登陸的時候,用了不同的用戶名,也沒注意,總之,VS里面又包了一層。
奇怪的是如果用本地的,git shell,卻是可以的:
所以,這個安全目錄,感覺就是VS搞的一個附加的安全措施。
解決辦法:
1確認安全目錄:
確定項目目錄下,所有的安全git工作目錄:
git config --global --get-all safe.directory
?比如我的:
X:\Prj_C#\3DSnapCatch>git config --global --get-all safe.directory
X:/Prj_C#/3DSnapCatch
?如果有多個重復的,那么就不行,會有問題。比如:
X:\Prj_C#\3DSnapCatch>git config --global --get-all safe.directory
X:\Prj_C#\3DSnapCatch
X:\Prj_C#\3DSnapCatch
2 移除所有安全目錄
如果有重復的,我們需要運行下面的代碼:移除所有的安全目錄:
X:\Prj_C#\3DSnapCatch>git config --global --unset-all safe.directory
?【最好的方法,可以上來先移除所有的安全目錄,重做一邊】
3 重新構建安全目錄:
X:\Prj_C#\3DSnapCatch>git config --global --add safe.directory "X:/Prj_C#/3DSnapCatch"
4 確認一下:
X:\Prj_C#\3DSnapCatch>git config --global --get-all safe.directory
X:/Prj_C#/3DSnapCatch