5

我是 git 和 GitHub 的新手,但是我设置了一个本地存储库,当我键入时更新 GitHub 存储库:

[username@yourhostname Program] git add .
[username@yourhostname Program] git status
[username@yourhostname Program] git commit -m "a message"
[username@yourhostname Program] git push -u origin master

接下来我想做的事情是,当我进行更改并推送它们时,这些也会反映在实时站点的目录中。

我已经在实时服务器上安装了 git 并在那里设置了一个名为'testdir'.

我很想'git init'在这个目录中输入 when ,但我也看到网络上的引用'git init --bare'并有点困惑。

如果有人可以提供逐步的命令列表,让我能够将本地存储库中所做的更改推送到 GitHub 和实时服务器,我将不胜感激。

4

3 回答 3

8
于 2013-07-29T11:22:56.957 回答
2

您需要在您的 git 配置中设置两个遥控器,一个用于 github(这可能是您现在的“起源”),另一个用于您的其他服务器。像往常一样推送到 github,然后使用git push yourserver.

如果我对您的理解正确,您希望将推送的更改发布到某个地方(无论这是否是一个好主意,我不会争论) - 这可以通过添加一个“挂钩”脚本来完成,该脚本在每次推送后运行制作到服务器上的 git 存储库。例如,该钩子可以将一些文件复制到您的 www/ 目录。

有关添加遥控器(github 和您的服务器)man git-remote 的信息,请参阅有关添加挂钩的信息,请参阅man githooks- 我认为 post-receive 挂钩在这里很适合您。

于 2013-07-26T09:23:15.017 回答
0

There's another approach to this problem – instead of using custom scripts to use a hosted service that deploys from your GitHub repo to your server through FTP/SFTP. One of these services is dploy.io.

Basically with a few clicks you can link your GitHub repo to dploy.io and after entering your server details you can have automatic deployments on every push or manual through UI. You can also run post-deployment shell commands through SFTP and trigger web hooks. There's also a way to preview a deployment and watch it as it's running live. You also get an extensive list of target services you can deploy to – like S3, Heroku, DreamObjects and soon Elastic Beanstalk.

Disclaimer: I'm a developer behind it.

于 2014-02-05T03:53:27.970 回答