我正在尝试使用一个使用 git 作为后备存储的程序(我是 git 的新手)。 在初始化时,该程序执行以下操作:
"git" "--bare" "rev-parse" "refs/heads/index"
结果是:
fatal: Not a git repository: '/home/david/blog.git'
我遵循了本教程、
git init
、git add test.txt
和git commit
。当我(在正确的目录中)这样做时(例如),回购似乎表现正常:
$ git status
rev-parse
正在做什么以及我必须对我的存储库做什么才能使其正常工作?
如果
git status
正在工作,那么您必须位于具有工作树的非裸存储库中。 git status
需要一个工作树。
如果程序正在运行
git --bare ...
那么它期望给定的目录是一个裸 git 存储库,即没有工作目录。
reponame.git
的命名约定通常保留给裸存储库,非裸存储库通常使用目录名称reponame
并包含.git
子目录。
如果
/home/david/blog.git
实际上是一个非裸存储库,那么它将有一个 .git
子目录。如果是这种情况,您可能可以将程序指向 /home/david/blog.git/.git
但我忍不住觉得将其指向真正的裸存储库会更安全。它是什么程序以及初始化其数据存储的指令是什么?
`
也许
git init
就是您需要做的一切。