“不是 git 存储库”

问题描述 投票:0回答:2

我正在尝试使用一个使用 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
2个回答
11
投票

如果

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

如果程序正在运行

git --bare ...
那么它期望给定的目录是一个裸 git 存储库,即没有工作目录。

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

如果

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


6
投票

也许

git init
就是您需要做的一切。

© www.soinside.com 2019 - 2024. All rights reserved.