如何完全删除使用 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 Cache 从 None 重新设置为 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 存储库?的主要内容,如果未能解决你的问题,请参考以下文章
GitGit 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )
GitGit 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )