2

我是一个 git 新手,有一个关于将 repo 推送到 bluehost 的问题。

我正在使用 Tower.app 推送到 Github.com,并且我还希望能够将其推送到我在 bluehost.com 中的帐户,而不是同时(我想从 Tower 的下拉选项中选择它。应用程序)。

我需要将我的项目推送到位于http://example.com/sub/y的目录(其中 y 是 anotherdomain.com)。

在过去的 3 个多小时里,我一直在尝试各种事情,但无法让它发挥作用。Bluehost 要么抱怨目录不是 git repo 要么正在更新服务器信息。我尝试用 ssh 然后 http 推送它。

有人可以为此提供分步说明吗?谢谢你!

4

1 回答 1

0

您推送到 Bluehost 子目录的目的是什么?您想要更新您的网站文件以直接在线服务(部署),还是维护一个存储库来共享/备份您的工作?相信我,它们是非常不同的东西,一个比另一个更复杂。

鉴于您遇到的大多数人都希望通过 git 进行部署,我建议您执行以下操作:

  1. 使用本教程将 git 更新到最新版本很重要,特别注意评论中的一些更正:http ://willjackson.org/blog/installing-git-bluehost-shared-hosting 。

  2. 当您通过 SSH 连接到服务器时,请设置一个裸存储库。请注意,此存储库中的文件将无法用于托管目的,因此我建议您创建存储库目录 (~/repositories),在 (domain.tld.git) 中创建存储库,cd 进入存储库并运行git init --bare.

  3. 将 Github 和您的 Bluehost 裸存储库添加为遥控器(右键单击 Tower 侧栏中的 Remotes > Add Remote Repository)。对于 Bluehost,添加最相关的名称(大多数人会称之为“Production”),然后将位置添加为如下所示,更改斜体:“ ssh : //user@domain.tld/home1/username/repositories /域.tld.git

  4. 通过拖动一个分支(Master?)并将其放到您设置的 Bluehost 遥控器上,将文件推送到裸仓库。命名分支(Master?)并点击 OK。这应该是一次成功的推动。

  5. SSH 回来,cd 到裸仓库,cd 到 hooks 目录并创建一个名为 post-receive.xml 的文件。post-receive 钩子是 git 在收到您的更改后被指示运行的脚本。构建它,使其将 git 指向您的 Web 文件子目录并像这样签出文件:Git site deployment - checkout in post-receive hook not working

于 2014-06-26T16:06:26.067 回答