2012-08-13 57 views
2

我当它涉及到Git的新手,我通过一些视频教程here获取:裸仓库“致命此操作必须在一个工作树跑?”

去看到这些教程我尝试后建立一个git回购和我的朋友使用ssh

注:

  • 我们使用的是Mac雪豹
  • Git版本是1.7.5.4

我设法建立我的代码在一个文件夹中可以说使用

git init 

其中有我的代码文件的文件夹1“。

然后,我对我的朋友们创建一个空仓库的机器可以说“folder2”,我用

git init --bare --shared 

现在我想建立共享回购作为仓库为folder1的制作folder2纯仓库代码 在此之后,我尝试使用ssh

git remote add origin [email protected]:/LocationToFile 

遥控器上添加裸回购在此之后,我把它给了我成功的消息代码

现在的问题是混帐回购协议“folder2”仍然显示一个空的回购协议(带一个空仓库的文件夹),我不能在folder2作为 执行git的操作,即使我做“git status”,我得到“fatal: This operation must be run in a work tree

回答

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 

注:这将是最好遵循命名约定裸回购目录:(而不是folder2folder2.git

+0

我有类似的问题,当我开始从一个新的会话工作。发现它是导致它的GIT_DIR变量。 Unset解决了它。 – Rich 2014-05-02 05:13:38

+1

@Rich True:我在http://stackoverflow.com/a/6123109/6309或http://stackoverflow.com/a/17505437/6309中提到了类似的问题 – VonC 2014-05-02 05:14:45

相关问题