几个月前我使用 Github ,但只在我的电脑之间使用 Github 。我现在想要做的是将代码从我的服务器推送到 Github 。原因是因为我现在的工作方式不同。我目前将代码直接保存到我的托管服务提供商提供的服务器。
是否可以将我的代码从我的服务器推送到Github?
另外我应该提一下,我目前只有FTP访问我的服务器并使用 FileZilla 进行连接。
更新
我去了 #git IRC 频道,并从那里的一些人那里发现,不可能使用git而不能从一个服务器上SSH。我已联系我的主机,看看我是否可以从服务器SSH并在那里安装git?
答案 0 :(得分:4)
有多种方法可以做到这一点。
另一方面,我会说更好的选择是采用不同的方式:在本地工作,并编写一个脚本,在您提交内容时更新您的Web代码。这会是一种选择吗?
答案 1 :(得分:3)
如果您有权访问主机提供商服务器,我建议设置一个后接收挂钩。
我认为您的服务器有权推送到您的github存储库,否则请先关注official GitHub documentation。
在您的服务器上,创建<path-to-repo>/hooks/post-receive
,其中包含:
#!/bin/sh
echo "Pushing $3 $1 to github."
git push github $3
授予其执行权限:
chmod +x <path-to-repo>/hooks/post-receive
将github
添加为远程存储库:
cd <path-to-repo>
git add remote github git@github.com:<username>/<repo-name>.git
然后,每次推送到服务器都会将其推送到配置的github存储库。
答案 2 :(得分:2)
在GitHub中,上传服务器“public”ssh密钥(在帐户选项下)。
在您的服务器中,您可以克隆您的GitHub仓库,只需将您的服务器数据复制到该仓库,然后推送?这样,GitHub现在更新了您的服务器副本。现在您可以在您的服务器或个人计算机上进行开发,因为它们都是从GitHub克隆的存储库。
如果您正在进行生产(直接投入使用),我建议您使用某种脚本来发布结果,而不是直接在实时服务器上进行开发。
我的工作流程如下:
答案 3 :(得分:1)
我不明白为什么不。你必须编写一个应用程序来与git命令行进行交互......但你应该能够将代码从任何地方推送到github。
答案 4 :(得分:1)
不确定
您需要以某种方式提供SSH密钥。您可以将其复制到服务器,或启用代理转发---例如做“ssh -A ......”。在这里阅读后者 - http://unixwiz.net/techtips/ssh-agent-forwarding.html