问题描述
我试图使用一个使用git作为后备存储的程序(我是git的新手)。在初始化时,这个程序执行:
如果 git状态正在工作,那么你必须在一个非工作树的非裸仓库中。 git status 需要一个工作树。
如果程序正在运行 git --bare ... 然后它期望给定的目录是一个裸的git仓库,即不工作目录。
命名约定 reponame.git 通常用于裸存储,而非裸存储通常使用目录名称 reponame 并包含 .git 子目录。
如果 /home/david/blog.git 实际上是一个非裸仓库,那么它将有一个 .git 子目录。如果是这种情况,您可以将程序指向 /home/david/blog.git/.git ,但我不禁感到,点安全它在一个真正的裸仓库。它是什么程序以及初始化其数据存储的指示是什么?
`I am trying to use a program that uses git as the backing store (I am new to git). On initialization, this program does a:
"git" "--bare" "rev-parse" "refs/heads/index"Which results in:
fatal: Not a git repository: '/home/david/blog.git'
I followed this tutorial, git init, git add test.txt and git commit. The repo seems to behave properly when (in the correct directory) I do (for example):
$ git statusWhat is rev-parse doing and what do I have to do to my repo to make it work?
解决方案If git status is working then you must be in a non-bare repository with a working tree. git status requires a working tree.
If the program is running git --bare ... then it expects the given directory to be a bare git repository, i.e. with not working directory.
The naming convention of reponame.git is usually reserved for bare repositores and non-bare repositories usually use a directory name of reponame and contain a .git subdirectory.
If /home/david/blog.git is actually a non-bare repository then it will have a .git subdirectory. If this is the case you can probably point the program at /home/david/blog.git/.git but I can't help feeling that it would be safer to point it at a truly bare repository. What program is it and what were the instructions for initializing its data store?`
这篇关于“不是git存储库”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!