4

我想自动生成一个文件并将其添加到提交中(如果它已更改)。是否有可能,如果可以,我应该使用什么钩子?

上下文:我正在编写一个 CSS 库。它有几个 CSS 文件,最后我想生成一个压缩和最小化的版本。现在我的工作流程是:

  1. 修改css文件x.cssy.css
  2. git add x.css y.css
  3. Executeminimize.sh解析我的 lib 上的所有 css 文件,最小化它们并生成一个min.css文件
  4. git add min.css
  5. git commit -m 'modified x and y doing foo and bar'

我想通过 git hook 自动完成第 3 步和第 4 步。那可能吗?

我以前从未使用过 git 钩子。阅读手册页后,我想我需要使用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
4

1 回答 1

5

不,它不会破坏任何东西。git add您可以在pre-commit挂钩中自由使用。

于 2010-12-26T00:07:24.927 回答