我们正在将我们(巨大的)项目转移到git,我们正在考虑使用子模块.我们的计划是在超级项目中有三个不同的头:发布,稳定,最新.项目负责人将处理释放和稳定的分支机构.他们将根据需要移动子模块.
问题是"最新"头.我们希望超级项目"最新"头部跟踪所有子模块的主分支(自动).如果能够显示子模块的所有提交历史,那也很棒.
我看过gitslave,但它不是我们想要的.有什么建议?
我创建了一个commit-msg钩子myrepo/.git/hooks.
#!/bin/sh
message=`cat $1`
c=`echo $message|grep -c 'fff'`
if[ $c -gt 0 ];then
echo "Error"
exit 1
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
当我尝试这样提交时,会发生错误并阻止提交.
$ git commit -m "reffrffffeffff fffeef"
Error
Run Code Online (Sandbox Code Playgroud)
然后我做以下事情:
$ cd myrepo
$ mkdir .hooks
$ mv .git/hooks/commit-msg .hooks/commit-msg
$ ln -s .hooks/commit-msg .git/hooks/commit-msg
Run Code Online (Sandbox Code Playgroud)
并尝试使用相同的消息再次提交.提交成功.我想我可能在上面的步骤中做错了什么?
任何人都可以告诉我如何建立一个客户端钩子,并让每个开发人员从这个钩子获得限制?