Git - 在错误的目录中初始化了裸仓库

14

我在错误的目录(服务器上)中运行了git --bare init。我看到那个目录中有分支、配置、依赖等文件。我该如何撤消它?

2个回答

34

因为你使用了'--bare'参数进行初始化,所以没有.git目录-相反,.git目录的正常内容直接放在父级目录中。例如,你执行'git init --bare'的地方看起来像这样:

$ git --bare init
Initialized empty Git repository in /Users/ebg/test/foo/
$ ls
HEAD        config      hooks/      objects/
branches/   description info/       refs/

要撤销此操作,只需执行:

rm -rf HEAD config hooks objects branches description info refs

当然,如果您已经有了那些名称的文件和目录,请小心。


1
我无法编辑,因为只有一个字母。将s/discription/description/翻译成中文:我无法编辑,因为只有一个字母。 - johnny

6
如果您在未设置为git仓库的目录上进行了操作,您可以直接删除.git文件夹(假设您使用的是Linux):
rm -rf .git

否则,如果目录已经包含存储库(.git目录),那么git init将没有任何效果(即git log在git init之前和之后将显示相同的提交)。

5
更新:GoZoner的回答(https://dev59.com/3mkw5IYBdhLWcg3wGWtk#10135410)实际上是正确的,我的回答只适用于运行时没有使用--bare开关的git init命令。 - BluesRockAddict

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