我希望能够自动生成一个文件,如果它已更改,则将其添加到提交中。 如果可能的话,应该使用哪些钩子?
上下文:我正在编写一个CSS库。 它有几个CSS文件,并且最终我想生成一个紧凑且最小化的版本。 现在我的工作流程是:
1.修改css文件x.css和y.css 2.git add x.css y.css 3.执行minimize.sh,该脚本解析我库中的所有css文件,将它们最小化并生成一个min.css文件 4.git add min.css 5.git commit -m“修改x和y做foo和bar”
我希望通过git hook自动完成步骤3和4。这可行吗?
我以前从未使用过git hooks。 阅读完man page后,我认为需要使用pre-commit钩子。 但是我可以调用git add min.css吗? 这会破坏互联网吗?
上下文:我正在编写一个CSS库。 它有几个CSS文件,并且最终我想生成一个紧凑且最小化的版本。 现在我的工作流程是:
1.修改css文件x.css和y.css 2.git add x.css y.css 3.执行minimize.sh,该脚本解析我库中的所有css文件,将它们最小化并生成一个min.css文件 4.git add min.css 5.git commit -m“修改x和y做foo和bar”
我希望通过git hook自动完成步骤3和4。这可行吗?
我以前从未使用过git hooks。 阅读完man page后,我认为需要使用pre-commit钩子。 但是我可以调用git add min.css吗? 这会破坏互联网吗?
编辑:成功了!我并没有创造黑洞或者其他什么东西!
这是我 .git/hooks/pre-commit 文件的代码:
#!/bin/sh
exec minimize.sh
exec git add oocss.min.css
文档没有提到我需要将其设置为可执行文件,否则它将无法正常工作。
如果您对我的最小化方法感兴趣,我使用了juicer - 最小化命令是:
exec juicer merge --force my-uncompressed-file.css
pre-commit
中添加了,即使用git add
命令,但是在vim
编辑器中显示的提交信息并不包括它。 - Li Donggit add
遇到了index.lock
的阻碍。@Aristotle Pagaltzis 先生,您能详细解释一下如何实现您的解决方案吗? - frhd