如何将gdoc的修订历史导出到git?

时间:2013-01-08 18:57:12

标签: git google-docs google-sheets google-docs-api google-spreadsheet-api

我在谷歌文档中有一个电子表格,我想在git工作流程中集成(并推送到github)。是否有任何工具(甚至可以识别gdoc版本的库)可以帮助我做什么?

我有一些旧的红宝石黑客基于google_spreadsheet gem来读取和写入当前版本的csv gdoc,但没有提取修订历史记录。

2 个答案:

答案 0 :(得分:28)

我对你的问题很感兴趣,所以我今天在一起攻击了一个小项目:

给定文档ID,它将使用Google Docs文档的纯文本或HTML内容创建git存储库。这可以很容易地扩展到与其他文件类型一起使用。它工作时看起来像这样:

$ python gitdriver.py -T 1j6Ygv0ow5A8_ywTMwJbuKVrxrSsSH2wJs3a8Q66mvt4
Create repository "Untitled"
Initialized empty Git repository in /home/lars/projects/gitdriver/Untitled/.git/
[master (root-commit) 24d35e7] revision from 2013-01-08T21:57:38.837Z
 1 file changed, 1 insertion(+)
 create mode 100644 content
[master fd243ee] revision from 2013-01-08T21:57:45.800Z
 1 file changed, 1 insertion(+), 1 deletion(-)
 rewrite content (95%)
[master 5ad1a26] revision from 2013-01-09T01:47:29.593Z
 1 file changed, 1 insertion(+), 1 deletion(-)
 rewrite content (92%)
$ cd Untitled
$ git log --oneline
5ad1a26 revision from 2013-01-09T01:47:29.593Z
fd243ee revision from 2013-01-08T21:57:45.800Z
24d35e7 revision from 2013-01-08T21:57:38.837Z

这要求您使用Google设置必要的应用程序凭据。它不会进行任何错误检查。并可能吃你的金鱼。这是为了演示API以及如何做这样的事情;它旨在成为一种功能性产品。

答案 1 :(得分:8)

未设置gdoc用于导出修订历史记录source

Google云端硬盘确实有API可以访问所有版本here。这提供了一种下载所有修订版的简便方法。然后你可以创建一个脚本来逐个添加到git。修订历史记录存在一些问题,请参阅here