Git 提交前自动生成文件
我有一个带有一些文本文档和幻灯片(libreofficeodt和odp文件)的git存储库。我想自动将它们转换为pdf文件,然后提交文档和pdf文件(这样我的存储库的用户就不必自己构建pdf文件)。 我已经编写了一个简单的makefile,可以自动执行此转换:Git 提交前自动生成文件,git,githooks,Git,Githooks,我有一个带有一些文本文档和幻灯片(libreofficeodt和odp文件)的git存储库。我想自动将它们转换为pdf文件,然后提交文档和pdf文件(这样我的存储库的用户就不必自己构建pdf文件)。 我已经编写了一个简单的makefile,可以自动执行此转换: MAKEPDF=libreoffice --headless --convert-to pdf SOURCES=$(shell find . -name '*.od*') TARGETS=$(subst .odp,.pdf,$(subst
MAKEPDF=libreoffice --headless --convert-to pdf
SOURCES=$(shell find . -name '*.od*')
TARGETS=$(subst .odp,.pdf,$(subst .odt,.pdf,$(SOURCES)))
all: $(TARGETS)
#
%.pdf: %.odt
#
$(MAKEPDF) $< --outdir $(@D)
%.pdf: %.odp
#
$(MAKEPDF) $< --outdir $(@D)
MAKEPDF=libreoffice--headless--convert-to-pdf
SOURCES=$(shell find.-name'*.od*')
TARGETS=$(subst.odp.pdf,$(subst.odt.pdf,$(SOURCES)))
全部:$(目标)
#
%.pdf:%.odt
#
$(MAKEPDF)$<--outdir$(@D)
%.pdf:%.odp
#
$(MAKEPDF)$<--outdir$(@D)
我现在需要的是在我提交新更改时运行这个makefile
我阅读了git钩子,并考虑使用预提交钩子。但是,这个钩子在我添加要提交的文件之后运行,因此不会添加新生成的文件
是否有一种方法可以自动生成所有pdf文件并将其暂存以进行提交?
pre-commit
hook在创建提交之前执行,因此您可以使用pre-commit
hook来1)生成文件
,然后2)git添加这些文件。但是,请注意,普遍接受的指导原则是,您不应该在git中提交生成的文件。例如:@Alderath这很有效,谢谢