如何完全删除使用init创建的git仓库?

1662

我使用 git init 命令创建了一个 Git 代码仓库。我想要彻底删除它,然后重新初始化一个新的仓库。

16个回答

2068

Git把所有文件存储在.git目录中。只需删除该目录并重新初始化即可。

如果找不到它,那是因为它被隐藏了。

  • 在Windows 7中,您需要进入文件夹,点击左上角的组织,然后点击文件夹和搜索选项,接着点击查看选项卡并选择显示隐藏的文件、文件夹和驱动器单选按钮。

  • 在Mac OS中:

    • 打开终端(通过Spotlight:按CMD + SPACE,输入terminal并按Enter),然后运行:

      defaults write com.apple.finder AppleShowAllFiles 1 && killall Finder
      

      注意:在Finder中显示隐藏文件的键盘快捷键是CMD + SHIFT + .,因此不再需要以这种方式修改finder配置。

    • 您也可以输入cd(空格很重要),将git repo文件夹从Finder拖放到终端窗口中,按return,然后键入rm -fr .git,再次按return

  • 在Ubuntu上,使用快捷键Ctrl + H


25
注意:在删除隐藏的.git文件后,您应该输入 defaults write com.apple.finder AppleShowAllFiles NO && killall Finder 来再次隐藏隐藏文件。 - CodeBiker
22
在 macOS(在 Finder 中)显示/隐藏文件:cmd + shift + .。这是我在 Google 上找到的一个热门结果,即使它有点老,人们仍然可能经常使用它。 - ludvigeriksson
12
@Van 那些是bash标志(选项),它们可以任意顺序放置 :) - De Novo
当我将一个iOS项目作为子模块添加时,那个解决方案并不够用。它出现为一个红色文件夹,上面写着“iOSapp @ 1d12345”,无法访问,也无法推送新的更改(它总是说已经匹配了主分支)。我使用了答案中的“find . -type f | grep -i ".git" | xargs rm”命令,删除了造成问题的任何东西,现在它可以正常工作了。 - André
嗨, 我刚刚不小心操作了一下,结果所有的工作都消失了。 有没有办法撤销这个操作? - Abdullah Saud
如果您想从Windows 10 cmd中删除git存储库,则可以在包含git存储库的目录中使用rmdir /s .git。但是,我没有找到这方面的提及。 - eHarazi

1029

如果你真的想要删除整个仓库,只保留工作目录,那么应该非常简单。

rm -rf .git

关于rm -rf的警告是常见的。在运行该命令之前,请确保您拥有最新的备份并且非常确定您在正确的位置。等等。


15
你也可以在Windows上使用这个,在Git Shell中。 - TheTechGuy
1
它一再提示无法执行操作:rm: 无法删除'Rift/.git/objects/pack':目录非空,而且我已经运行了rm -rf命令。 - Vendetta
1
附注:-rf 是两个选项联合在一起:-r 表示递归删除,-f 表示强制执行操作。 - nCardot
嗨, 我刚刚不小心操作了一下,结果所有的工作都消失了。 有没有办法撤销这个操作? - Abdullah Saud
@Abdullah Saud 运行该命令时无法撤销。警告应该提前放置。 - MaXi32
对于Windows PowerShell用户,请运行以下命令: Remove-Item ".git" -Recurse -Force文档 - Max Ma

72

如果你想删除项目中的所有 .git 文件夹,请使用以下命令:

find . -type f | grep -i "\.git" | xargs rm

这也将删除所有子文件夹中的.git文件夹和.gitignore文件。


12
这删除了我的 french.gite.txt 文件。 - Anonymous Coward
在将iOS项目作为子模块同步时遇到了问题。仅仅移除.git目录并没有奏效,但是这个方法解决了问题。可能还有一些隐藏在子文件夹中的文件? - André

32

克隆仓库后

cd /repo folder/

前往文件目录然后

ls -a

查看所有隐藏和未隐藏的文件

.git .. .gitignore .etc

如果您愿意,可以检查存储库的来源。

git remote -v

现在删除 .git 目录,其中包含有关 git 的所有内容

rm -rf .git

删除后,您会发现没有 git 链接,请再次检查远程。

git remote -v

现在,您可以使用以下命令初始化您的代码库:

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/Leonuch/flex.git
git push -u origin main

2
这是一个重复的答案,与现有答案相同。所有其他步骤都没有增加答案的内容。 - John Kugelman

16

杀死TortoiseGit的替代方法:

  • 打开TortoiseGit设置(右键单击任何文件夹,TortoiseGit → 设置)
  • 进入图标覆盖选项。
  • 状态缓存默认更改为
  • 现在可以使用Windows资源管理器或rmdir /S /Q命令删除目录。
  • 状态缓存设置回默认,然后您就可以再次正常使用了...

11

在终端中执行以下命令,其中 $GIT_DIR 是要搜索的文件夹(git 仓库路径)的路径。

find $GIT_DIR -name *.git* -ok rm -Rf {} \;

这将递归搜索指定的Git目录中包含".git"在文件/目录名称中的任何目录或文件。这将包括.git/和.gitignore文件以及任何其他类似.git的资产。该命令是交互式的,会在删除之前询问。要继续删除,请输入y,然后按Enter键。


5
要完全删除计算机中的.git存储库(在Windows 8及以上版本中):
  1. .git存储库通常在Windows中隐藏
  2. 因此,您需要标记“隐藏项目”以显示隐藏的文件夹
  3. 在您的目录顶部网站上找到“查看”选项
  4. 在“查看”选项中,找到“隐藏的项目”并将其标记
  5. 然后您会看到.git存储库,然后可以删除它

4

我尝试了:

rm -rf .git 以及

Git将所有文件保存在.git目录中。只需删除该目录,然后重新初始化即可。

对我没有用。这是我的解决方法:

  • 删除除`.git`以外的所有文件
  • git add . -A
  • git commit -m "删除整个项目"
  • git push

然后从备份中创建/恢复项目:

  • 创建新项目文件(或复制粘贴备份)
  • git add . -A
  • git commit -m "重新创建项目"
  • git push

4
您可以使用以下命令来删除链接的仓库:

git remote remove origin

然后,您可以使用以下命令添加新的仓库:

git remote add origin


1
这不会从本地计算机中删除存储库。 - samkart

3
您可以为此创建一个别名(alias)。我正在使用带有Oh-my-Zsh的ZSH shell,这里是一个方便的别名:
# delete and re-init git
# usage: just type 'gdelinit' in a local repository
alias gdelinit="trash .git && git init"

我正在使用 Trash 来删除 .git 文件夹,因为使用 rm 命令非常危险:

trash .git

然后我重新初始化了git仓库:

git init

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接