始终在修改时自动添加/暂存/提交特定文件

时间:2016-03-15 14:38:00

标签: git

我有一个包含源代码的工作目录以及编译时生成的文件。我不跟踪中间构建文件,但我希望通过git addgit commit跟踪的源代码的每次更改都保留一个有效的成品。

每次提交和推送我的工作时添加相同的结果文件变得很乏味。有没有"反.gitignore"文件我可以配置为在修改时始终暂存此文件,因此它将与每个commit一起保存?

1 个答案:

答案 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后自动构建程序。这个概念称为持续集成