我有一个包含源代码的工作目录以及编译时生成的文件。我不跟踪中间构建文件,但我希望通过git add
和git commit
跟踪的源代码的每次更改都保留一个有效的成品。
每次提交和推送我的工作时添加相同的结果文件变得很乏味。有没有"反.gitignore"文件我可以配置为在修改时始终暂存此文件,因此它将与每个commit
一起保存?
答案 0 :(得分:5)
如果你能够建立"产品"在git存储库中的源代码中,没有必要添加它。可以简单地查看源代码并构建它。
无论如何你想要这样做,看看git hooks。例如,您可以编写一个pre-commit
挂钩,在每次提交之前为您添加文件 - 自动。
让我添加一个简单的例子。让我们假设您只有一个名为demo.c
的文件的简单仓库。要自动编译程序并将二进制文件添加到每个提交,您可以将名为pre-commit
的文件放入本地.git/hooks
文件夹并使其可执行:
的.git /钩/预提交
#!/bin/sh
# Compile program
gcc demo.c -o demo
# Add to index
git add demo
但我仍然认为这不是正确的工作流程。而是设置一个构建服务器,如Jenkins,以便在将提交添加到git后自动构建程序。这个概念称为持续集成。