有个想法,想使用 git 提交记录来生成日志博客,该如何实现呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
andyhuai
V2EX    程序员

有个想法,想使用 git 提交记录来生成日志博客,该如何实现呢?

  andyhuai 2019-06-27 14:21:34 +08:00 3165 次点击
这是一个创建于 2302 天前的主题,其中的信息可能已经有所发展或是发生改变。

想用 github 来实现一个简单的记录心情或者事件的博客, 每个 commit 就会在生成一个状态,包含时间和内如,就像 github 的 release 列表一样。 但是如何读取提交记录呢?没有找到 json 文件什么的, 有知道告知一下;

另外,有一个 nodejs 实现的类似的项目, https://byronhsu.github.io/life-commit/,大家可以看看

20 条回复    2019-06-28 16:42:07 +08:00
jasonsui
    1
jasonsui  
   2019-06-27 14:54:16 +08:00 via Android
webhook
Ritter
    2
Ritter  
   2019-06-27 15:05:01 +08:00
插眼等大佬解答
npe
    3
npe  
   2019-06-27 15:15:30 +08:00 via Android   1
花里胡哨。。。
Sanko
    4
Sanko  
   2019-06-27 15:37:42 +08:00 via Android
commit 有长度限制吗
xaplux
    5
xaplux  
   2019-06-27 15:38:52 +08:00
感觉可以用 github 的 api 接口实现,developer.github.com/v3/repos/commits/
yuankui
    6
yuankui  
   2019-06-27 15:44:06 +08:00
http://qinghua.github.io/jgit/

如果是 java 语言的话,可以用这个库,可以直接读取.git 仓库。包含所有你需要的元数据信息。

如果是其他语言的话,可以在这里找找:
https://git-scm.com/book/uz/v2/Appendix-B%3A-Embedding-Git-in-your-Applications-Libgit2
yuankui
    7
yuankui  
   2019-06-27 15:45:21 +08:00
最后的最后,可以寄出大杀器:爬虫。
KuroNekoFan
    8
KuroNekoFan  
   2019-06-27 15:47:57 +08:00
git webhook
KuroNekoFan
    9
KuroNekoFan  
   2019-06-27 15:49:02 +08:00
跟 commit 自动触发 ci/cd 一个道理
Northxw
    10
Northxw  
   2019-06-27 15:49:30 +08:00
爬虫
moodasmood
    11
moodasmood  
   2019-06-27 15:50:15 +08:00
花里胡哨+1
andyhuai
    12
andyhuai  
OP
   2019-06-27 15:58:37 +08:00
@xaplux 这个貌似比较靠谱的
@KuroNekoFan webhook,如何拿到我 commit 提交 message 呢?
KuroNekoFan
    13
KuroNekoFan  
   2019-06-27 16:08:28 +08:00
@andyhuai 方法应该不限于一种,就我知道的,git cmd tool,比如
```
git ls-remote --tags ${repoURI}
```
可以拿到这个 repoURI 对应的 tag 信息
pupboss
    14
pupboss  
   2019-06-27 16:53:41 +08:00   1
commit 之前仓库要有改动才行,虽然也很容易实现,我还是想跟风说一个。。。花里胡哨+2
deepdark
    15
deepdark  
   2019-06-27 17:10:15 +08:00 via Android
可以修改覆写.git 目录里的 hooks 文件夹里的内容,你的需求需要修改 post-commit,具体流程就是在你仓库 commit 的时候 bash 脚本拿到 commit msg 然后做你想要的操作,生成 markdown 发布博客或者是调用 web 接口都可以
jingyulong
    16
jingyulong  
   2019-06-27 21:54:20 +08:00
官方接口可以做到啊。。。。。啥数据都有,https://developer.github.com/v4/guides/intro-to-graphql/
kawana
    17
kawana  
   2019-06-27 23:37:00 +08:00   1
@pupboss 不一定需要有改动, `git commit --allow-empty` 可以提交空 commit,不过还是 「花里胡哨」
andyhuai
    18
andyhuai  
OP
   2019-06-28 09:08:42 +08:00
@kawana 就懒,不想写过多东西,不想买 vps,不想折腾
JiYouMCC
    19
JiYouMCC  
   2019-06-28 16:41:00 +08:00
github api graphql
JiYouMCC
    20
JiYouMCC  
   2019-06-28 16:42:07 +08:00
不一定要 comment,还可以起个 issue,然后用 issue 的帖子内容生成,这样就还能支持修改删除啥的
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1306 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 23:55 PVG 07:55 LAX 16:55 JFK 19:55
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