:用 Git 来管理 WordPress

10.21.2015, WordPress, by , 3,045 views.

甘肃快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秘籍
安徽福彩快三开奖结果 甘肃快3开奖结果 贵州快3开奖结果今天
彩票追号 双色球和值选号器 江苏快三玩法规则 七乐彩号码遗漏 福建快3开奖结果今天
早餐粥店加盟 豆浆早餐加盟 河北早餐加盟 范征早餐加盟 北京早点车加盟
中式早点加盟 移动早餐加盟 早餐粥加盟 快餐早餐加盟 小吃早点加盟
全福早餐加盟 早点快餐店加盟 凡夫子早餐加盟 美味早点加盟 早点加盟店排行榜
早点加盟店排行榜 早餐粥车 特色早点小吃加盟店 绝味加盟 早餐粥店加盟
浙江十一选五官网 广西快乐十分技巧 特码生肖对对拼 60 内蒙古快3走势图73期 河北11选5中奖规则
金星娱乐赌博 分分彩开奖记录 上海快三直播 极速快3玩法 双色球专家精选一注
信嘉彩票网址是多少 土地公六合心水论坛 黑龙江快乐10分前三直走势图 北京赛车新玩 河北快三直播
3d试机号计划 11选5前一自创方法 山西11选5直播 天津十一选五21号 宝博线上娱乐