某些提交需要在拉动后运行某些命令。例如,如果我安装新软件包并将该安装记录到文件中(例如package.json
或Gemfile
),那么提交该提交的每个人都需要安装该软件包。我可以使用Git钩子,但团队中的每个人都需要安装这些钩子。有没有办法让Git在提取某些提交时显示一条消息?这些消息将作为回购的一部分进行跟踪。
E.g。当你提交一个向package.json
添加内容的提交时,它会显示一条消息“package.json已更改,运行yarn install
以下载新页面”。
答案 0 :(得分:2)
这是对版本控制的不当使用。不仅仅是出于您提到的原因,而且由于其他原因,这些文件可能会因git pull
而改变。并且因为git
没有设置来处理这些类型的任务。
这是构建工具的任务。它正是这些任务的工具。
在您的示例中,您可以添加一个依赖项来检查Gemfile
是否已更改,并对适用的bundle install
任务执行rake
。或者,如果您对运行命令不满意,rake
会显示有关问题及其修复方式的消息。这甚至可以通过环境变量来控制。
您还可以添加执行rake
的{{1}}任务,然后运行必要的命令以确保构建良好。