繁体   English   中英

是否可以将我的代码从我的服务器推送到Github?

[英]Is it possible to push my code from my server to Github?

几个月前我使用过Github ,但只在我的电脑和Github之间使用过 我现在想要做的是将代码从我的服务器推送到Github 原因是因为我现在的工作方式不同。 我目前将代码直接保存到我的托管服务提供商提供的服务器上

是否可以将我的代码从我的服务器推送到Github?

另外我应该提一下,我目前只有FTP访问我的服务器并使用FileZilla进行连接。

UPDATE

我去了#git IRC频道,从那里的一些人那里发现,不可能使用git而不能从一个服务器上SSH。 我已联系我的主机,看看我是否可以从服务器SSH并在那里安装git?

有很多方法可以做到这一点。

  1. 如果您可以使用命令shell(或远程桌面或其他任何东西)访问您的服务器,那么您只需在那里初始化一个git存储库。
  2. 如果你有ftp访问权限,你可以将你的ftp映射为像NetDrive 这样的驱动器( 本文解释了这一点 ),然后使用你通常使用的相同方法,但使用你的映射驱动器

另一方面,我会说更好的选择是采用不同的方式:在本地工作,并编写一个脚本,在您提交内容时更新您的Web代码。 这是一个选择吗?

如果您有权访问主机提供商服务器,我建议设置一个post-receive挂钩。

我假设您的服务器有权推送到您的github仓库,否则,请先按照官方GitHub文档

在您的服务器上,创建<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存储库。

在GitHub中,上传您的服务器“public”ssh密钥(在帐户选项下)。

在您的服务器中,您可以克隆您的GitHub仓库,只需将您的服务器数据复制到该仓库,然后推送? 这样,GitHub现在更新了您的服务器副本。 现在您可以在您的服务器或个人计算机上进行开发,因为它们都是从GitHub克隆的存储库。

如果您正在进行生产(直接投入使用),我建议您使用某种脚本来发布结果,而不是直接在实时服务器上进行开发。

我的工作流程如下:

  1. 克隆GitHub项目到我家。
  2. 在GitHub上创建两个分支,master分支和生产分支。
  3. 创建一个Git Hook,当东西被推送到生产分支时,它会自动将内容部署到服务器。
  4. 我继续在master分支上进行开发,当它是发布时,我只是将它合并到生产分支。

我不明白为什么不。 你必须编写一个与git命令行交互的应用程序......但你应该能够将代码从任何地方推送到github。

当然。

您需要以某种方式提供SSH密钥。 您可以将其复制到服务器,或启用代理转发---例如,通过执行“ssh -A ...”。 在这里阅读后者 - http://unixwiz.net/techtips/ssh-agent-forwarding.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM