使用git源代码控制与网站

S.L*_*kas 4 git web

所以我只是想在我的服务器上安装Git,但是我遇到了一百万个问题,所以忘掉了.

我可以设置一个正常的git repo,然后让我的网络服务器与git repo"自动"同步(只读,我猜)?

我只是一个2人团队的一部分,宁愿使用Git而不是任何其他版本控制.

Tod*_*obs 5

TL; DR

您可以从Web服务器提取,但是送到非裸存储库需要许多额外的步骤并且可能会产生问题.正确的做法通常是使用在提交到Git存储库时触发的webhook或部署工具,但是有更简单的选项,例如服务器端cron作业.

使用Cron作业

获得所需功能的方法是使用cron作业.作为一个简单的例子,您可以每分钟轮询一次git存储库并提取更改,例如:

* * * * * cd /path/to/www && git pull
Run Code Online (Sandbox Code Playgroud)

如果您有一个需要重新启动的Web服务以利用已修改的资源,那么您显然也需要这样做.

使用钩子和集成

如果您正在使用GitHub或其他托管存储库服务,您通常可以利用与AWS或Heroku等提供程序的集成.特别是,Heroku很不错,因为每次推送到主分支都会重新编译和重新部署您的Web服务,而无需额外的操作.

有关更多信息,请参阅以下内容:

使用完整的部署工具

如果您有更复杂的要求,则可能需要更强大的部署工具.一个例子是Capistrano,它经常用于Ruby on Rails项目,但也可用于管理其他类型的应用程序和框架的部署.有些研究肯定会提供您可能更喜欢的其他部署工具,但这是一个合理的起点.