在 VPS 上部署好了 Git 和 Hexo ,现在我该如何在本地用 Git 更新 Blog ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
spencerqiu
V2EX    git

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

  •  
  •   spencerqiu 2015 年 2 月 6 日 4516 次点击
    这是一个创建于 3998 天前的主题,其中的信息可能已经有所发展或是发生改变。
    按照 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 年 2 月 6 日
    跟我原来的博客好像,也是本地写.MD文件,git添加上传到VPS之后,触发hooks,然后加一个脚本把.MD文件生成HTML文档,复制到网页目录(我当时直接生成指定目录)。我用的是pelican。
    youling
        2
    youling  
       2015 年 2 月 6 日
    话说用Git写微博不觉得麻烦么,WordPress有手机客户端,有网页小窗口快速发布,有邮件发布,并且但凡著名的笔记软件都支持一键Po MardDown到WP
    qinkun1234
        3
    qinkun1234  
       2015 年 2 月 6 日
    aricxu
        4
    aricxu  
       2015 年 2 月 6 日   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 年 2 月 6 日
    我是用jekyll的,一般在本机写好,然后rake deploy,直push到vps然后在vps上通过hook生成静态网站的
    sumw3
        6
    sumw3  
       2015 年 2 月 6 日
    可以参考http://t.sumw3.com/2014/12/31/HexoAutoDeploy/
    觉得类似的就可以了
    laomutuo
        7
    laomutuo  
       2015 年 2 月 7 日
    卤煮要学node?
    laomutuo
        8
    laomutuo  
       2015 年 2 月 7 日
    @youling 你在用wordpress么,亲:0
    laomutuo
        9
    laomutuo  
       2015 年 2 月 7 日
    @youling 邮件发布的功能是个鸡肋么?
    youling
        10
    youling  
       2015 年 2 月 7 日
    @laomutuo 是的,邮件发布应急用用还是不错的。
    FTTT支持WP,所以搞个WP发送文章自动同步到微博,或者反过来也可以
    毕竟是最成熟的博客平台,人性化要比其他平台好多了。
    spencerqiu
        11
    spencerqiu  
    OP
       2015 年 2 月 26 日
    @sumw3
    网站打不开= =
    sudoz
        12
    sudoz  
       2015 年 8 月 28 日
    @aricxu 这个方案好, git log 很干净

    请教 hook 方案
    aricxu
        13
    aricxu  
       2015 年 8 月 28 日
    @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 年 8 月 30 日
    @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     Solana     1525 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 16:38 PVG 00:38 LAX 08:38 JFK 11:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86