:用 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和值 贵州麻将技巧顺口溜 贵州快3直播 甘肃快三今天的开奖号
包子早点加盟 杨国福麻辣烫加盟 口口香早点加盟 早餐肠粉加盟 早点加盟店10大品牌
天津早餐加盟 全国连锁加盟 绿色早餐加盟 河南早点加盟 舒心早餐加盟
绿色早餐加盟 早餐配送加盟 天津早点加盟 早餐配送加盟 早餐豆腐脑加盟
特色早点加盟店 哪里有早点加盟 早餐连锁 加盟 早点车加盟 全福早餐加盟
福利彩票36选7 破解11选5的密码出号 极速11选5历史记录 投彩娱乐 辽宁35选7走势图网
吉林十一选五走势图表大乐透 时时彩9码平刷稳赚方案 免费幸运飞艇计划 极速时时彩是哪里 广西快乐十分综合走势
吉林快三公式 天天彩票五分彩 快中彩开奖记录 11选5选号技巧 内蒙古快3和值表
湖北快三 上上签娱乐登录注册 北京快3公交车路线 北京时时彩赛车 甘肃11选5遗漏