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

Posted

技术标签:

【中文标题】如何完全删除使用 init 创建的 git 存储库?【英文标题】:How to fully delete a git repository created with init? 【发布时间】:2010-11-15 20:28:21 【问题描述】:

我使用git init 创建了一个 git 存储库。我想完全删除它并重新创建一个。

【问题讨论】:

【参考方案1】:

Git 将其所有文件保存在.git 目录中。只需删除那个并重新初始化。

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

在 Windows 7 中,您需要转到您的文件夹,点击左上角的 Organize,然后点击 Folder and search options,然后点击在 查看 选项卡上,然后单击 显示隐藏的文件、文件夹和驱动器 单选按钮。

在 Mac 操作系统上:

打开终端(通过 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,然后再次返回

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

【讨论】:

注意:删除隐藏的.git文件后,需要输入defaults write com.apple.finder AppleShowAllFiles NO && killall Finder再次隐藏隐藏文件。 在 macOS 上显示/隐藏文件(在 Finder 中):cmd + shift + . 这对我来说是 Google 上的***搜索结果,因此即使它很旧,人们也可能会发现它很多。 @Van 这些是 bash 标志(选项),它们可以按照您想要的任何顺序排列:) 当我将 ios 项目添加为子模块时,该解决方案还不够。它显示为带有“iOSapp @ 1d12345”的红色文件夹,无法访问,我也无法推送新的更改(它总是说它已经匹配主人)。我使用“find . -type f | grep -i "\.git" | xargs rm" 的答案删除了造成问题的任何内容,现在它可以工作了。 嗨,我只是不小心这样做了,我所有的工作都消失了。有没有办法撤消这个?【参考方案2】:

如果你真的想删除所有的存储库,只留下工作目录,那么它应该像这样简单。

rm -rf .git

关于rm -rf 的通常附带条件适用。确保您有最新的备份,并且在运行命令之前绝对确定您在正确的位置。等等等等。

【讨论】:

你也可以在 Windows 上使用它,在 git shell 中 它反复说它不能:rm:cannot remove 'Rift/.git/objects/pack': Directory not empty,是的,我跑了 rm -rf 旁注,-rf 是两个组合在一起的选项:-r 递归删除,-f 强制执行操作 嗨,我只是不小心做了,我所有的工作都消失了。有没有办法撤消这个?【参考方案3】:

杀死 TortoiseGit 的替代方法:

打开 TortoiseGit-Settings(右键单击任意文件夹,TortoiseGit → Settings) 转到图标叠加层选项。 将 状态缓存Default 更改为 None 现在您可以删除目录(使用 Windows 资源管理器或 rmdir /S /Q) 将 Status CacheNone 重新设置为 Default,您应该会再次正常...

【讨论】:

【参考方案4】:

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

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

这也会从所有子文件夹中删除所有 .git 文件夹和 .gitignore 文件

【讨论】:

这删除了我的 french.gite.txt 将 iOS 项目同步为子模块时遇到问题。只是删除 .git 目录并没有以某种方式起作用,但这解决了它。可能还有一些隐藏在子文件夹中的文件?【参考方案5】:

其中$GIT_DIR是要搜索的文件夹的路径(git repo路径),在终端中执行如下。

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

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

【讨论】:

【参考方案6】:

我试过了:

rm -rf .git 还有

Git 将其所有文件保存在 .git 目录中。只需删除那个 并再次初始化。

都不适合我。做了什么:

删除除.git以外的所有文件 git 添加。 -A git commit -m "删除了整个项目" git 推送

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

创建新的项目文件(或复制粘贴备份) git 添加。 -A git commit -m "重新创建的项目" git 推送

【讨论】:

【参考方案7】:

您可以为其创建一个别名。我正在使用带有 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 repo:

git init

【讨论】:

【参考方案8】:

要完全删除您计算机中的.git 存储库(Windows 8 及更高版本):

    .git 存储库通常隐藏在 windows 中 所以你需要标记“隐藏项”来显示隐藏文件夹 在您目录的顶部,您可以找到“查看”选项 在“查看”选项中,您可以找到“隐藏项目”并标记它 然后你看到.git 存储库然后你可以删除它

【讨论】:

【参考方案9】:

在窗口中:

    按下开始按钮 搜索资源监视器 在 CPU 选项卡下 -> 键入 .git -> 右键单击​​ rundll32 并结束进程

现在你可以删除 .git 文件夹了

【讨论】:

【参考方案10】:

Windows cmd 提示符: (如果您对 grep、rm -rf、find、xargs 等,git bash 中的命令不满意,可以直接在 windows cmd 中尝试以下命令, )

在项目文件夹内递归删除.git,通过cmd中的以下命令:

FOR /F "tokens=*" %G IN ('DIR /B /AD /S .git') DO RMDIR /S /Q "%G"

【讨论】:

【参考方案11】:

真的,就像我的存储在用户中,所以必须打开用户转到左上角的查看找到选项,打开它并在视图中编辑文件夹的查看选项仍然显示隐藏的文件/文件夹,你所有的文件夹都将是显示,您可以手动删除 repo,请记住在删除完成后隐藏文件/文件夹。

【讨论】:

【参考方案12】:

不用担心,同意以上答案:

但对于私有项目,请按照 Gitlab 的步骤操作:

    登录您的帐户 点击设置->常规 选择您的存储库(您要删除的) 点击最底部的“高级” 点击“删除项目”

    您将被要求输入您的项目名称

    此操作可能会导致数据丢失。为防止意外行为,我们要求您确认您的意图。 请输入“sample_project”继续或关闭此模式以取消。

    现在您的项目已成功删除。

【讨论】:

【参考方案13】:

克隆仓库后

cd /repo folder/

然后转到文件目录

ls -a

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

.git .. .gitignore .etc

如果您愿意,可以检查 repo 来源

git remote -v

现在删除包含所有关于 git 的 .git

rm -rf .git

删除后你会发现没有git linked check remote了

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

【讨论】:

这是an existing answer 的副本。所有其他步骤对答案没有任何帮助。【参考方案14】:

你可以使用:

git 远程删除原点

然后删除链接的回购:

git 远程添加源

添加新的

【讨论】:

这不会从本地计算机中删除 repo。

以上是关于如何完全删除使用 init 创建的 git 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

从远程 Git 存储库中完全删除提交

如何在 TFS 中仅删除一个 Git 存储库?

如何从Git存储库中删除不想要的信息

从 Heroku Git 存储库中删除密钥

GitGit 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )

GitGit 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )