Microsoft Word 本地版本控制? Git + Pandoc - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bs10081
V2EX    分享创造

Microsoft Word 本地版本控制? Git + Pandoc

  •  
  •   bs10081
    bs10081 2023-07-16 21:14:32 +08:00 3381 次点击
    这是一个创建于 821 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    Word 作 Office 三件套中,最透日常生活的,你能想象,2023 年,本地依有自存,也有版本管理,需要些功能,都被制定在 OneDrive 上,但是 OneDrive 的品又不如意,且於有 NAS 的人,性比不高,那有有什第三方解方案,能 Microsoft 擦屁股的呢?

    什是版本控制?

    版本控制是一追和管理案更的系。它可以助您追案的更,恢到以前的版本,其他人作案。

    版本控制系有主要型:集中式和分散式。集中式版本控制系所有案存在中央伺服器上。分散式版本控制系案存在所有者的工作上。

    Git

    Git 是一分散式版本控制系,它是目前最受迎的版本控制系之一。Git 易於使用,且可用於各案。

    以下是使用版本控制的一些好:

    • 追案更:版本控制可以助您追案的更,於回到以前的版本或查看更改史很有用。
    • 恢到以前的版本:如果您不小心除或更改了案,您可以使用版本控制恢到以前的版本。
    • 其他人作:版本控制可以助您其他人作案。每人都可以在自己的工作副本上行更改,然後更改合到主分支。

    Pandoc

    Pandoc 是一自由,可文字成多格式,包括 HTML 、PDF 、LaTeX 、EPUB 、Docx 等。它由 John MacFarlane ,可在 Windows 、Mac 和 Linux 上行。Pandoc 是界和技界泛使用的工具,可用於撰和格式化文、生成、建子等。

    Power by Google Bard

    Git 初被的初衷是原始行版本控制,文本的容支持非常的好,但是 Docx 二制格式,就法在 Git 中生文字的修改,然是能用,但是版本控制法,那和我直接在名上行 v2 v3 的命名就有任何了。

    所以我通 Pandoc Docx 成 Markdown ,且使用 git diff Markdown 代替 Docx 呈文字的版本差比。

    操作步

    1. 安 Git 和 Pandoc
    2. 定 Git
    3. Word
    4. Git Commit

    安 Git 和 Pandoc

    1. 前往 Git 官,下安相操作系版本的 Git 。
    2. 前往 Pandoc 官,下安相系版本的 Pandoc 。

    macOS 建使用 Homebrew 安 Git 和 Pandoc: brew install git pandoc

    定 Git

    1. User 目底下,打 .gitconfig 案,在最後面添加以下容:
    [diff "pandoc"] textcOnv=pandoc --to=markdown prompt = false[alias] wdiff = diff --word-diff=color --unified=1 

    1. 在我要做版本管理的 Word 料中,初始化 Git:git init

    1. 新增 .gitattributes ,添加一下容:
    *.docx diff=pandoc 

    CleanShot 2023-07-14 at 09.13.43@2x

    Word

    CleanShot 2023-07-14 at 09.32.09@2x

    示文件,除中英文摘要中的英文摘要,然後保存案。

    Git Commit

    1. git diff {名}.docx 便能 Docx 的格式理成 Markdown

    CleanShot 2023-07-16 at 00.03.57@2x

    1. Github Desktop 等 Git GUI App 中,便能清楚地看到,份 Docx 案,改了那些容

    CleanShot 2023-07-14 at 09.33.35@2x

    然後便能通 Git commit 等指令做版本管理了,更多的 Git 操作,可以到 Git 官


    https://cdn.ipfsscan.io/ 提供 IPFS 床。

    去中心化 xLog 原文接: https://regchien.info/Microsoft-Word-ben-di-ban-ben-kong-zhi--shi-shi-Git--Pandoc

    12 条回复    2024-02-27 09:42:17 +08:00
    Worldispow
        1
    Worldispow  
       2023-07-16 22:13:21 +08:00 via Android
    在 onedrive 面前就是玩具。简单说下 onedrive 。
    1 、可以记录 word 、excel 、ppt 等格式的历史版本。
    2 、大多数文字工作者,每年需要记录的文档至少 10g 起步
    3 、平常一个方案或者标书,大概 50-500 页。
    4 、有时候改的不是文字,而是格式。
    bs10081
        2
    bs10081  
    OP
       2023-07-16 22:29:17 +08:00
    @Worldispow 嗯哼,OneDrive 於文字工作者,有必要性,但是我只是量化使用,不想了他用 OneDrive 保存,所以用 Git 的方式做版本管理,竟大部分,文字容都是用 Markdown 保存。
    MeMoDiv
        3
    MeMoDiv  
       2023-07-17 02:43:05 +08:00
    @Worldispow #1 同意,就第 4 点已经让 Word 和 Git 水火不容了。。如果我要写的东西是可以忽略排版和格式、只注重文字本身的内容,我压根就不会用 Word 。工具和需求严重不匹配,有种核动力奥迪双钻的沉重感。( op 这个方案的 Git 部分没啥可说的,比较标准的用法之一,Word+Pandoc 的这部分替换成 typora 甚至 VS Code 可能都要好很多)
    bs10081
        4
    bs10081  
    OP
       2023-07-17 10:14:47 +08:00
    @MeMoDiv 改格式一可以的呀,一示的 QAQ
    lixile
        5
    lixile  
       2023-07-17 11:04:34 +08:00
    适合个人 所以公司到底是怎么管理文档版本的 包括格式之类的
    下面我想到的 更适用的方案(或者可行的方案)是
    1 、调整好一个标准模板的.docx
    2 、文档开发人员编写 MD
    3 、全部都上仓,通过 pandoc 根据 模板.docx 生成 最终需要的 docx
    这样实现了文档标准化+CI 每次发版自动生成文档
    clemente0731
        6
    clemente0731  
       2023-07-17 13:52:03 +08:00
    @Worldispow 和坚果云比呢
    bs10081
        7
    bs10081  
    OP
       2023-07-17 14:55:19 +08:00
    @lixile 有更好的商用解方案,https://simuldocs.com ,唯一缺就是
    bs10081
        8
    bs10081  
    OP
       2023-07-17 14:56:07 +08:00
    @lixile 但是於平常 Markdown 的人,是不需要最生成 docx 吧,直接像 LaTex 那,生成 PDF 就好了?
    lixile
        9
    lixile  
       2023-07-17 15:58:02 +08:00
    @bs10081 pdf 确实是最终产物 实际上 docx 模板 是为了排版符合某种特定格式或者要求,然后转换 pdf ,归根结底是要解决文档版本化和对应 pdf 自动生成的问题
    jy28520
        10
    jy28520  
       2023-07-18 0:53:29 +08:00
    @lixile 我司内部就有这样的一个脚本,然后发现表格嵌入之后的样式那真是一个非常痛苦的故事。。。
    lixile
        11
    lixile  
       2023-07-18 10:06:26 +08:00
    @jy28520 所以 我很好奇大公司们到底怎么管理文档版本 以及和对应代码仓版本关联
    hj18
        12
    hj18  
       2024-02-27 09:42:17 +08:00   1
    很棒的教程,解决我的实际问题,非常感谢。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2517 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:30 PVG 23:30 LAX 08:30 JFK 11:30
    Do have faith in what you're doing.
    ubao 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