在 VPS 上部署好了 Git 和 Hexo ,现在我该如何在本地用 Git 更新 Blog ?

2015-02-06 10:15:21 +08:00
 spencerqiu
按照 http://blog.berry10086.com/Tech/deploy-hexo-to-vps/ 的教程来做的。

做到「测试,在终端中输入ssh git@blog.berry10086.tk,如果能够远程登陆,说明这一步没有问题」是可以的...

仍然有两个问题:
1.教程中这一段:
本地设置
设置git用户名,在Bash终端里
git config --global user.email "email@example.com"
git config --global user.name "username"

我是在 VPS 而非 GitHub 上部署...这两样应该填什么呢?按照那位博主的意思是填 git@blog.berry10086.tk 么?那么 username 又该填什么呢?

2.我是按照这个教程做到尾的, Git hooks 没搞错的话应该也创建了,我现在总不会还要每次更新都要 sftp 上传到 VPS 上吧......该如何在本地更新 Blog 呢?比如在 Git Bash 中做什么样的操作?把博文的 .md 文件放在我本地的哪一个文件夹呢?
3978 次点击
所在节点    git
14 条回复
DuckJK
2015-02-06 10:32:16 +08:00
跟我原来的博客好像,也是本地写.MD文件,git添加上传到VPS之后,触发hooks,然后加一个脚本把.MD文件生成HTML文档,复制到网页目录(我当时直接生成指定目录)。我用的是pelican。
youling
2015-02-06 10:38:22 +08:00
话说用Git写微博不觉得麻烦么,WordPress有手机客户端,有网页小窗口快速发布,有邮件发布,并且但凡著名的笔记软件都支持一键Po MardDown到WP
qinkun1234
2015-02-06 10:53:21 +08:00
aricxu
2015-02-06 10:54:38 +08:00
1. 这是你git的用户名,你 git commit 的时候显示的名字,和邮箱。
2. 看了教程 “本地 deploy 只是把静态文件push到了 VPS 的 git 仓库里” 。 就是将你本地生成在 public 目录下的东西 git commit 一下就可以了,commit 到你的 git 服务器(教程里面在 vps 上建立的 git 服务器), 后续发布是 hook 完成的。

其实我的做法是,环境搭在 vps 上,提交 md 文件,由 git hook 生成并发布。
brucebot
2015-02-06 11:08:27 +08:00
我是用jekyll的,一般在本机写好,然后rake deploy,直push到vps然后在vps上通过hook生成静态网站的
sumw3
2015-02-06 12:46:09 +08:00
可以参考http://t.sumw3.com/2014/12/31/HexoAutoDeploy/
觉得类似的就可以了
laomutuo
2015-02-07 06:59:31 +08:00
卤煮要学node?
laomutuo
2015-02-07 07:00:11 +08:00
@youling 你在用wordpress么,亲:0
laomutuo
2015-02-07 10:41:00 +08:00
@youling 邮件发布的功能是个鸡肋么?
youling
2015-02-07 16:26:06 +08:00
@laomutuo 是的,邮件发布应急用用还是不错的。
FTTT支持WP,所以搞个WP发送文章自动同步到微博,或者反过来也可以
毕竟是最成熟的博客平台,人性化要比其他平台好多了。
spencerqiu
2015-02-26 13:49:44 +08:00
@sumw3
网站打不开= =
sudoz
2015-08-28 16:01:23 +08:00
@aricxu 这个方案好, git log 很干净

请教 hook 方案
aricxu
2015-08-28 21:47:23 +08:00
@sudoz
将 post-update.sample (路径比如: blog.git/hooks/post-update.sample ) 改名为 post-update ,激活此 hook
然后我的做法是: 在末尾加 一行 exec /home/git/update_blog.shupdate_blog.sh 就是一个执行文件,负责发布。例子见下面,因为 path 的原因,我用的所有的命令都是绝对路

unset GIT_DIR # 为了能使用 git pull
cd /your/blog/path # 进入目录
/usr/bin/git pull # 更新

# 确保路径是对的,然后发布
/usr/local/bin/hexo g # 执行发布命令

#可以加一些日志输出什么的
sudoz
2015-08-30 00:32:07 +08:00
@aricxu 感谢指点。
我在 vps 上用了 git 自带的 post-receive 实现了 Hexo 的自动部署,
大体上就是本地 Hexo 提交 md 文件到 Github 和 VPS 上的裸 git 目录,然后 VPS 上通过 hook 实现 git pull <vps git repo>,再 hexo generate 生成 public/下的静态文件,最后 cp 静态文件到 blog 的根目录。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX