【发布时间】:2014-01-26 17:36:48
【问题描述】:
我在 Atlassian Stash 中创建了一个空的 Git 存储库并将其克隆。
$ git clone http://me@myrepo/my/repo.git
...
warning: You appear to have cloned an empty repository.
然后我创建了一些文件,通过git add 添加它们并希望通过git commit 提交。我收到以下错误:
ERROR: Unable to determine active branch in current context !
ERROR: GITLib::Branch::get_current died at line 41
当我 git rev-parse HEAD 时,我得到:
$ git rev-parse HEAD
HEAD
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
当我发出git branch -a查看是否有远程分支时,输出为空。
让我们在本地创建一个分支:
$ git checkout -b "foo"
Switched to a new branch 'foo'
$ git commit -m "test"
ERROR: Unable to determine active branch in current context !
ERROR: GITLib::Branch::get_current died at line 41
我如何让我的回购处于可用状态?
我尝试发出git commit --allow-empty、git init,但没有任何改变。
编辑:
当我使用git init 在本地创建一个空仓库时,然后git add 并尝试git commit 会发生类似情况:
ERROR: GIT::Command::git_or_die died at line 164
编辑 2:
这似乎是我公司的一个内部问题。如果问题得到解决,我会跟进详细信息。
使用 Git Bash 1.8.5.2 @ Win7。
【问题讨论】:
-
@l0b0 我确实希望这个 repo 是空的。但是根据我在网上阅读的内容,如果我克隆了一个空的仓库,我应该能够在其中创建提交,但显然情况并非如此。
-
是的,但是你在提交之前
git add是否有任何文件,正如欺骗中提到的那样?可能存在第一次提交不为空的特殊情况。 -
是的,我做到了。无论是尝试使用
--allow-empty进行空提交,还是在之前通过git add添加内容然后正常提交时,都会发生同样的问题。