V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
spencerqiu
V2EX  ›  git

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

  •  
  •   spencerqiu · 2015-02-06 10:15:21 +08:00 · 4010 次点击
    这是一个创建于 3615 天前的主题,其中的信息可能已经有所发展或是发生改变。
    按照 http://blog.berry10086.com/Tech/deploy-hexo-to-vps/ 的教程来做的。

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

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

    我是在 VPS 而非 GitHub 上部署...这两样应该填什么呢?按照那位博主的意思是填 [email protected] 么?那么 username 又该填什么呢?

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

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

    请教 hook 方案
    aricxu
        13
    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
        14
    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 的根目录。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1067 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.