在裸存储库中获取“致命:此操作必须在工作树中运行吗?”

时间:2012-08-13 09:50:43

标签: git version-control github

我是git的新手,我浏览了一些视频教程here

看完这些教程后,我尝试使用ssh

与我的朋友建立一个git repo

注意:

  • 我们正在使用mac snow leopard
  • Git版本是1.7.5.4

我设法在一个文件夹中设置我的代码,让我们使用

说'folder1'
git init

有我的代码文件。

然后我在我的朋友机器上创建一个空存储库,让我们说“folder2”,然后使用

folder2作为一个裸存储库
git init --bare --shared

现在我想将共享仓库设置为folder1代码的存储库 在此之后,我尝试使用ssh

在裸仓库上添加遥控器
git remote add origin myFriend@hisIp:/LocationToFile

在此之后,我推送了代码,这给了我一条成功的消息

现在问题是git repo'folder2'仍然显示一个空的repo(包含空存储库的文件夹),我无法在folder2中执行git操作 即使我做“git status”,我也会得到“fatal: This operation must be run in a work tree

1 个答案:

答案 0 :(得分:9)

因为它是一个裸仓库,所以它没有工作树。请参阅“What's the -practical- difference between a Bare and non-Bare repository?”。

您应该在本地克隆该folder2 repo,以执行您的命令。

# on server:
cd /path/to/folder2
git clone folder2 folder2b
cd folder2b
git status

注意:最好遵循裸仓库目录的命名约定:folder2.git(而不是folder2