“不是git存储库”

时间:2009-11-14 14:08:47

标签: git

我正在尝试使用一个使用git作为后备存储的程序(我是git的新手)。在初始化时,该程序执行:

"git" "--bare" "rev-parse" "refs/heads/index"

结果是:

fatal: Not a git repository: '/home/david/blog.git'

我关注了this tutorialgit initgit add test.txtgit commit。当我(在正确的目录中)(例如)时,回购似乎表现得正常:

$ git status

rev-parse做什么以及我需要做些什么才能使其成功?

2 个答案:

答案 0 :(得分:7)

如果git status正在运行,那么您必须位于具有工作树的非裸存储库中。 git status需要一个工作树。

如果程序正在运行git --bare ...,那么它希望给定目录是一个裸git存储库,即没有工作目录。

reponame.git的命名约定通常保留用于裸存储库,而非裸存储库通常使用目录名reponame并包含.git子目录。

如果/home/david/blog.git实际上是非裸存储库,那么它将具有.git子目录。如果是这种情况,您可以将程序指向/home/david/blog.git/.git,但我不禁感到将它指向一个真正裸露的存储库会更安全。它是什么程序以及初始化其数据存储的说明是什么? `

答案 1 :(得分:6)

也许你需要做“git init”。