[英]command to uninitialize a git repo in Windows
在 Windows 中工作的命令需要使用什么特定語法來取消初始化 Git 存儲庫?
在 Windows 服務器中,當 Python 程序嘗試在包含 git 存儲庫的目錄上運行 shutil.rmtree() 時,我們會遇到以下錯誤。 正如您在下面看到的,該錯誤表明對.git
子目錄中的文件的訪問被shutil.rmtree()
命令阻止。
我們已閱讀此其他帖子,其中包含一些建議,例如在 Linux 中使用rm -rf
,或手動刪除 Windows 中的.git
文件夾。 我們還閱讀了表明shutil.rmtree()
不能以非管理員用戶身份強制銷毀的帖子。
但是,該目錄是由運行git clone
命令的同一用戶創建的,因此我們認為肯定有一些git
命令將清除.git
中的所有文件。
鑒於我們的用戶可以git clone
,我們想象我們的使用可以git uninit
。 那么我們需要使用什么命令來近似git uninit
並有效地刪除.git
文件夾及其在 Windows 中的所有內容而不會引發以下錯誤?
Traceback (most recent call last):
File "C:\path\to\myapp\setup.py", line 466, in undoConfigure
shutil.rmtree(config_path)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 739, in rmtree
return _rmtree_unsafe(path, onerror)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 617, in _rmtree_unsafe
onerror(os.unlink, fullname, sys.exc_info())
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 615, in _rmtree_unsafe
os.unlink(fullname)
PermissionError: [WinError 5] Access is denied: 'C:\\path\\to\\callingDir\\.git\\objects\\pack\\pack-71e7a693d5aeef00d1db9bd066122dcd1a96c500.idx'
您基本上是在問“如何在 Windows 中刪除文件夾及其內容”? 所以 rmdir /s 的\冒犯\文件夾? 假設 git 存儲庫位於 state 中,您希望將其保留在其中(即不使用當前已簽出的某些舊版本),並且您確定要刪除它(無需用戶確認),這可行:
rmdir /s /q .git
/s
確保內容也被刪除。 並且/q
確保操作是安靜的(假設 'y' 進行確認)。
如果您使用的是 PowerShell 而不是命令提示符,則可以使用:
Remove-Item ".git" -Force -Recurse
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.