0

我的 webapp 在我想从 Git 控制的本地机器版本维护的服务器上。

我想将现在服务器上的内容复制并开始跟踪到本地。

所以我所做的是

在服务器上:

git --bare init app.git

和本地

git clone ssh://me@server/path_to_app.git 'app'

git pull

为了在本地机器上获取服务器快照。

这是我想解决的错误:

Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.   

本地分支 = master

遥远的起源

我想制作服务器的第一个快照。因为这是空的粗。我可以运行 origin add -A 并提交吗?或类似的东西?然后 git pull?

还是我的思路不对?

4

3 回答 3

0

问题是您创建了一个新的裸存储库,它没有内容。只需确保实际上master在远程调用了一个带有一些提交的分支,并且所有警告都应该消失。

于 2013-09-24T21:27:02.093 回答
0

您需要创建远程master分支才能从中提取。您可以通过执行以下操作从本地结帐中执行此操作:

git commit --allow-empty --allow-empty-message -m ''
git push -u origin master

显然,您推送的第一个提交不必为空,您可以在添加有用的内容时执行。只需要提交即可推送。

(原因是新的克隆在你提交某些东西之前也没有真正的master分支。.git/HEAD指向不存在的ref: refs/heads/master。如果它不存在,你的第一次提交将创建它。)

于 2013-09-24T21:33:25.297 回答
0

http://danbarber.me/using-git-for-deployment/

教程一步一步向我展示了正确的方法

于 2013-12-31T09:35:04.933 回答