如何使用git来推动当地网站现场直播


很多公司都竭尽全力使平均用户直接开发网站开发.这是有道理的,因为有一些网站所有者没有(或想要)时间学习运行本地站点的各个方面.但是,通过一些研究,您可以使用GIT来处理直播网站的过程.这为您提供了更大的安全性,一旦您设置了所有内容,就可以更轻松地进行站点更改.
即使这样,达到这一点也很艰难.有很多先决条件需要考虑,您需要拥有的技能以及可以交付的工具.另外,您需要在最初的几次中考虑一下这一过程,因为有很多值得记住的事情.但是,对于几乎每个用户来说,使用Git才能实现现场直播,并且不必像您想象的那样复杂.
对于本教程,我们将逐步向您展示如何使用git将本地站点推向实时服务器.首先,让我们浏览我们将在帖子中使用的一些工具和技术.
git简介
对于不知道, git 是版本控制系统(VCS).这是一种保存和记录您在项目上所做的更改的方法-通常是应用程序或网站.这是我们触摸其他地方,但是您需要更多地了解此教程.</</

使用git的典型方法是通过命令行接口(CLI)-如果您有 wp-cli ,这是一种类似的方法.您将使用命令来标记和组织您使用的文件,以多种方式:
- 在发布命令之前,文件将保持"未分布".这意味着它们不属于您的git"存储库"(存储您的历史记录的目录).
- 您会发出命令来上演全部或某些文件,此时您仍然可以工作在他们上.
- 完成后,您将文件从舞台区域提交到" repo".这类似于保存这些更改.
它可能比这更复杂,但是在大多数情况下,您只会使用少数命令与git进行日常工作.
使用GIT进行基于团队的开发
git是开发团队的关键工具,因为每个开发人员都会在同一存储库中打开另一个"分支".这意味着每个人都可以在项目上工作,而不会影响他人的文件.定期的间隔(通常是当天的最后一项任务),团队将对仓库进行更改.
团队的高级成员将寻求"合并"所有分支机构,并将其一起变为回购的main
或trunk
.此时,您将在存储库中拥有一组确定的项目文件.
对于单个开发人员(可能您),Git仍然具有作为一种增量储蓄工具的价值.您将打开一个新分支,在您的网站上工作,然后进行舞台并进行这些更改.这意味着您可以在分支上做任何喜欢的事情,而不会影响网站上的任何其他文件.当您要提交(或删除)时,您可以这样做.
本地WordPress开发的快速入门
在继续前进之前,我们应该注意,在您的网站上工作远离实时服务器是建议的典型练习.如果您还没有这样做,请在如何安装WordPress 上查看我们的文章.另外,您可能需要考虑一个专用的应用程序来在您的网站上工作.

flywheel by flywheel 是一个不错的选择,但是 devkinsta .无论如何,有很多方法可以创建本地网站,这是您想要的.
为什么要使用git来推动本地站点实时
您要使用git实时推动网站的主要原因是我们上面提到的:灵活性.GIT的性质意味着您将拥有一个主分支,该分支充当确定的项目文件集.但是,您可以根据需要开放尽可能多的新分支机构-实际上,这是大型团队使用Git的确切方式.
使用这种方法,您可以创建一个新的分支机构来处理网站的主页设计,而无需影响您的核心文件.考虑一个分支,您可以通过上演提交将其合并回主分支.
但是,git有用的其他原因还有其他原因:
- 您可以在任何位置托管此GIT回购.Github和Gitlab是两个专注于托管GIT存储库的站点.从那里开始,如果您需要额外的支持,可以吸引其他团队成员或开发人员.您甚至能够 ease .
- 当然,您不需要在您的实时网站上工作,从安全性和性能相关的角度来看,这是很棒的.但是,您可以选择只推开您工作的文件.这提供了巨大的好处,因为您不需要触摸 wordpress数据库.这是,可以使用git和local install.</
但是,为了达到这一点,您需要手头上有许多工具,技能和先决条件.接下来,我们将仔细研究它们.
在使用GIT将网站现场推动(工具和技能)
之前,您需要的内容
,值得注意的是,您甚至在考虑需要什么额外功能之前就应该拥有什么.例如,确保您有以下内容:
- 您当前网站的本地版本.
- 作为管理员访问您的托管控制面板和服务器.
从这里,您可以考虑在本地网站和实时服务器中使用Git还有什么:
- 您需要在计算机上安装git .您经常通过命令行实现此目标.
- 说到哪个,您需要了解如何使用命令行.具体来说,您应该知道如何在计算机周围移动,创建目录和文件,还可以删除它们.
- 对服务器的安全壳(SSH)访问的知识,以及至少熟悉创建安全键.您可以在我们的文章中找到更多关于安全文件传输协议(sftp) <<<<./li>
这应该足以开始,但是如果其他内容需要您的注意力,我们将在本文的其余部分中提及.
如何使用git推动本地网站实时
您需要采取四个步骤来设置所有内容.这是我们要涵盖的内容:
- 为您的本地站点.
- 设置远程git repo .
- 告诉您的git repo 需要推动更改的位置.
- 添加一个远程链接和实时推动更改.
这里有很多事情要做,所以让我们开始!
1.为您的本地网站设置git存储库
虽然有几种设置git存储库的方法,但我们将使用命令行进行此操作,因为它是最典型的方法.打开终端窗口,首先导航到您网站的本地目录:

要为您的git repo设置必要的体系结构,一次运行以下命令:
git init
git add.
第一个命令将创建所需的目录并将其隐藏,而第二个命令将网站目录中的所有文件添加到GIT登台区域-该期间是"通配符"修饰符:

要查看登台区域中的文件,请使用git status
命令:

从这里开始,您需要进行这些更改的初步提交,以填充本地存储库.您使用以下命令进行此操作:
git commit-m "Initial commit."
-m
标志告诉命令,下面的是您的提交消息.无论如何,您都需要为每个提交做到这一点,并且从一个地方这样做更简单.
从这里,您在计算机上设置了所有设置.接下来是时候在远程服务器上工作了.
2.在您网站的Live Server上设置GIT存储库
此处的过程类似于您的本地设置,但要求您使用SSH登录服务器.使用此内容超出了本文的范围,但是我们可以指向您指向帖子概述了您需要的步骤.另外,您可以随时询问您的主人-他们应该没有任何问题向您展示这些凭据在哪里.
通过命令行登录服务器后,您将需要导航到服务器的私有区域,以便外部用户无法访问您的git reto.目录通常是/private/
,尽管您需要询问您的主机.
在此目录中,您需要创建另一个目录并导航到它:
mkdir remoterepo.git
cd remoterepo.git
只要目录使用.git
扩展名,就可以随心所欲地称其为.从这里开始,在目录中初始化新的git仓库,这次使用–bare标志:
git--bare init
这将创建您需要的回购,而没有项目文件,该文件是安全和推荐的.
3.为您的存储库创建"挂钩",并设置正确的文件权限
当您在服务器中时,您需要创建一个文件来告诉Git在哪里推更改.首先,运行nano hooks/post-receive command
.这打开了名为Nano的命令行编辑器,并在正确的目录中创建文件.
在此文件中,添加以下内容:
#!/bin/sh
GIT_WORK_TREE=/home/username/example.com git checkout-f
/home/user/example.com
应指向网站实时文件的确切位置.username
应该是您登录外壳的一个,example.com
应该是您的实时站点的域.完成此操作后,保存更改.
这里的最后一步是为该文件设置正确的文件权限.您可以使用chmod +x hooks/post-receive
命令来执行此操作.更改模式(CHMOD)命令是您从命令行设置文件权限的方式- +x
意味着设置 execute permissions.
执行此操作后,键入exit
以离开远程终端.从这里,您需要回到终端内的本地git repo.
4.将远程链接添加到您的本地存储库,并将您的本地更改实时推动
在这里,根据需要,使用cd
命令导航回您的本地git repo.您需要添加到远程服务器的链接,以便两个Git存储库都可以相互交流.您将使用以下命令来完成此操作:
git remote add origin ssh://user@server.example.com/~/remoterepo.git
GIT存储库的确切URL将取决于您在最后一步中发现的位置.当然,您的用户和服务器凭据将在这里替换占位符.
运行此命令,然后准备将您的本地更改推向实时服务器.以下命令将在没有确认的情况下执行此操作,因此请确保您要执行此操作:
git push-u origin main
您会看到终端显示确认摘要…
Counting objects: 12, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/1), done.
Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done.
Total 12 (delta 0), reused 0 (delta 0)
…而且在这一点上,您可以检查您的实时网站-更改应存在并纠正.
在摘要
中
在您的网站上工作是必要的,通常是日常的任务.使用本地环境是典型的方法,但是存在一个问题-如何将这些更改到实时网站的更改无错误且最小的麻烦?
?
答案可以是使用git 将您的更改推向实时服务器.这样一来,您只能上传更改的文件,因此您的大部分安装(数据库)都保持原样.虽然您确实需要一些知识和工具来使一切正常工作,但这是一个工作流程的变化,可以使您的本地网站开发在生产力和效率方面飙升.
您是否认为您会使用git来实现本地站点更改?让我们在下面的评论部分中知道您的想法!