git如何开始跟踪现有项目

时间:2013-09-24 21:22:58

标签: git

我在我希望通过Git控制的本地计算机版本维护的服务器上安装了我的webapp。

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

所以我做的是

在服务器上:

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.   

local branch = master

远程来源

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

或者我的思路不正确?

3 个答案:

答案 0 :(得分:0)

问题是您创建了一个新的裸存储库,它没有内容。只需确保遥控器上有一个名为master的分支,其中有一些提交,所有警告都应该消失。

答案 1 :(得分:0)

您需要创建远程master分支才能从中获取。您可以通过以下方式从当地结账处执行此操作:

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

显然,你推入的第一个提交不一定是空的,只要你有一些有用的东西可以添加就可以做到。只需要 提交即可推送。

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

答案 2 :(得分:0)

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

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