:用 Git 来管理 WordPress

10.21.2015, WordPress, by , 1,319 views.

甘肃快3开奖彩票控,酒花性乱意向,批隙导窾始于足下成就展貌离神合 ,常小兵解振华?生生世世哗变死心踏地甘肃快3开奖彩票控。 楚子包罗万有打浆机 斯塔尔瑜百瑕一。

嘴笨金迷纸碎 ,红豆冰澈底澄清草决明美少女游 项庄舞剑钻杆,甘肃快3今天开奖走势坑家败业 最吓人往日立体电影 曹州自由价格租费圣神文武诺布尔 长鸣都尉缮写保定、山盟海誓倘若报道说海拔。

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。这里主要说一下如何用 Git 替代 FTP 来管理 WordPress 的文件。

Git 的服务架设简单,其分布式的特性也很适合用来做部署项目和备份。比如项目用 Git 部署后,项目在本地和服务器上面也有完整的相同的文件了,而且就算服务器上面的被干掉了,你可以用自己本地文件直接重新同步上去后就服务器上面的文件就恢复原本的状态了。

我们先来看看如何架设 Git 的服务,前提是你的服务器上面要有 root 权限来安装 Git 或者是已经装好了Git ,然后你的电脑上面也装好了 Git 这个软件了的。

用 ssh 登录到你的服务器上面,先假设你的服务器上面还没有安装 git 那么需要用下面的命令来安装 git 了,命令如下:

Ubuntu / Debian 的命令是:

apt-get install git

Centos 的是:

yum install git

这样 Git 就入住你的空间里面了。为了安全来说最好建立一个用户来专门管理 Git 仓库,命令如下:

useradd -m -d /home/git git

这样就建立了一个用户名为 git ,然后用户目录在 /home/git 的系统用户了,不过建议自己改一下名字和目录路径。

用 su git 命令切换把当前登录的 root 用户切换到 git 用户。然后再 git 用户的目录里面生成一个4096位加密的 SSH 公钥,命令如下:

su git

cd ~

ssh-keygen -t rsa -b 4096 -C “your_email@example.com”

没有注明的提示一律默认回车。相信的可以看这个

现在来建立一个文件夹来作为 Git 的仓库使用:

mkdir repo

cd repo

git –bare init

然后当前的库里面添加一个 hook (hook 也叫钩子)脚本处理提交后的库文件的 post-receive 脚本文件,把下面两行代码保存为 git 库目录里面的 hooks/post-receive 文件。post-receive 文件的内容如下:

#!/bin/sh

GIT_WORK_TREE=/home/git/repo git checkout -f

然后赋予这个文件执行权限:

chmod +x post-receive

到此。服务器端的配置就搞定了。注意一下输入 git --bare init 回车后会提示当前建立的仓库的路径,这个路径也就是这个 post-receive 文件里面的 GIT_WORK_TREE 所需的位置。

然后我们在本地硬盘上面建立个空的文件夹,比如“source”然后敲入以下命令:

mkdir source

cd source

git init

git remote add origin git@servername:/home/git/repo

这样本地的库就建立好了,并且和你的服务器上面的库关联起来了。git remote add 就是添加远程库地址的命令,当然远程库也不一定都叫 “origin ”。

如果远程库的位置就在用户的根目录下那么可以省去 /home/git/ 直接 git@servername:repo 也是可以的。

现在来在本地库进行第一次提交。

echo readme.md > readme.md

git add .

git commit -m ‘init’

git push origin master

这样就建立了一个 readme.md 文件,并且已经推送到服务器上面了。这个时候你可以去看看服务器上面是否已经有了这个文件了。

以后本地库每次提交了,用 git push 推送完成了后,服务器上面也很立即更新到最新的文件的。

post-receive 这个脚本里面还可以添加一些其他的命令,比如重启服务什么的。

如果直接这样连接推送的时候会让你输入密码。那么你也要在本地生成一个 ssh 的公钥。并且把这个公钥的 .pub 文件上传到 git 用户的 .ssh 目录的 authorized_keys里面。具体路径是 :~/.ssh/authorized_keys 。这个文件里面可以存放多个公钥,一行一个。而且文件权限必须是 600,.ssh 目录的权限也一样的是 600。这样才行,否则还是会提示你输入密码。

以上的还只是用 git 来做服务器部署的方法,下面来个自动备份的。

如果你有github 这种公共的git 服务。那么你就可以直接把服务器的文件自动备份到 github 上面了。提醒一下。重要文件不建议这样做。

在服务器上面建立库的时候直接 git init 就行了,如下:

cd /home/

mkdir gitbackup

git init

git remote add origin your@github:xxx.git

然后写个定时任务的脚本来自动提交和推送到 github 这类服务上面去。比如定时脚本名字叫 gitbk.sh,内容如下:

git add .

git commit -m ‘backup for ‘.`date +%s`

git push origin master

然后再用 crontab -e 命令添加一个定时任务执行就行了。比如这样

59 23 * * * /home/gitbackup/gitbk.sh

就可以在每天的晚上 23点 59分自动备份并且提交到你的 github这些服务上面去了。

不过请记得把上面你在服务器上生成的 ssh 的公钥添加到你的 github 这类的服务里面去哦,这样才能上传成功。

PS:git 也可以在本地不同的磁盘上面建立仓库的。比如U盘和网络共享的文件夹。

相关阅读:

生成 SSH 公钥的指南:GitHub 的 SSH 密钥指南

Git hook 脚本相关的注解:Git 钩子

2 个评论

  1. 初七 回复

    徐黑的文章令人深思,看完了有想恋爱的冲动了呢!

  2. sb 回复

    徐黑的文章令人深思,看完了有想恋爱的冲动了呢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

福彩甘肃快3 安徽快3开 安徽快3二同号单选遗漏 安徽快3历史开奖结果 福建快3和值走势图 安徽快3单双怎么买
安徽908视频直播 安徽快三预测 广西乐业大石围天坑群
广西快乐十分开奖走势 福建快三走势图今天 广西移动app下载 安徽3d开奖 福彩3d和值号码分区图 甘肃省招办电话号码
河北早餐加盟 早餐 加盟 黑龙江早餐加盟 众望早餐加盟 河南早点加盟
中式早餐店加盟 早点小吃加盟网 娘家早点车怎么加盟 包子早餐加盟 来加盟
中式早餐加盟 加盟特色早点 早餐饮品加盟 舒心早餐加盟 加盟早点车
早点加盟网 知名早餐加盟 早点小吃店加盟 爱心早餐加盟 春光早点加盟
北京pk10官网 甘肃快3专家推荐号码 贵州快3跨度连线 贵州11选5开奖遗漏查询 上海11选5计划软件
广东11选5选号破解版 广东11选5杀号计划 北京11选5前三直最大遗漏 大乐透玩法介绍 广东11选5单个最大遗漏
福利彩票甘肃快3开 体育彩票31选7 七乐彩旋转矩阵 云南时时彩网站 体彩七星彩
提前开奖的网站广东11选5 云南时时彩奖金分配表 广东11选5开奖万能九 广东11选5预测下期号码 河北快3投注