我已经在我用作媒体中心/备份服务器的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的新手,所以任何帮助都将不胜感激!
答案 0 :(得分:4)
你必须推到一个裸仓库。 Pull不起作用,因为它需要一个工作目录来合并,这就是你看到的错误信息。
所以设置一个遥控器来自你将要处理的仓库中的裸仓库并从中推出。
PS:创建裸仓库的理想方法是git init --bare <reponame>
答案 1 :(得分:1)
裸存储库没有工作树。 git pull
在功能上与git fetch
后跟git merge
相同,要进行合并,您必须拥有一个工作树(如果您需要解决冲突)。