2013-10-16 159 views
2

因为我不想包含二进制文件和其他东西,所以在执行git add .之前,我经常需要做一个make clean/make distclean。git在git之前运行脚本add

我知道我可以添加一些名称/模式到.gitignore但这不是很有效率和灵活性。另一个解决方案是创建一个bash文件,但需要在我的存储库中添加一个我不需要的文件。

是否有任何预先添加的配置允许我在实际执行git add之前运行脚本?

+0

我不知道你的意思是“生产性”,但'.gitignore'非常灵活。 –

+0

例如,二进制的名称可能会改变,或者当我添加新的二进制文件时,我必须将它添加到.gitignore中,最好的方法是什么? – w00d

+0

修改'gitignore',同时进行更改二进制名称(或引入)的更改。 – chepner

回答

2

Git提供的最早的钩子是预提交钩子。此时,git add已经运行,但您可以编写预确认钩子,确保未添加某些文件/文件扩展名。但是,这需要和gitignore文件一样的维护量。

+0

谢谢!你能更清楚地了解pre-commit钩子吗?是否可以使用该钩子运行脚本?我可以做类似“git reset; make clean; git add”。 – w00d

+0

是的,您可以运行脚本以及允许或不允许提交。你可以阅读关于Git钩子[这里](http://git-scm.com/book/en/Customizing-Git-Git-Hooks)。 – xbonez

+0

完美地工作! – w00d