簡體   English   中英

在 Windows 中取消初始化 git 存儲庫的命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM