3

我在用作媒体中心/备份服务器的 Ubuntu 机器上通过 ssh 设置了一个 git repo。

我采取的步骤是:

cd repos
git init <repoName>
cd <repoName>
git config --bool core.bare true

我已经能够通过 TortoiseGit 从我的台式机和笔记本电脑成功推送和拉取,但是通过 SSH 的 git pull 返回:

fatal: /usr/lib/git-core/gitpull cannot be used without a working tree. 

我对终端/ssh 非常陌生,因此将不胜感激任何帮助!

4

2 回答 2

4

你必须推送到一个裸仓库。Pull 不起作用,因为它需要合并到一个工作目录,这就是您看到的错误消息所说的内容。

因此,从您将要处理的存储库中设置一个远程到裸存储库并从中推送。

PS:创建裸仓库的理想方法是git init --bare <reponame>

于 2011-12-19T18:43:09.390 回答
1

裸存储库没有工作树。git pull在功能上与 agit fetch后跟 a相同git merge,并且要进行合并,您必须有一个工作树(以防有冲突需要解决)。

于 2011-12-19T18:41:51.820 回答