我们在团队中遇到了问题,我们决定检查是否有一种方法或git命令拒绝git push代码中有TODO的地方.有任何想法吗?提前致谢.
hos*_*eio 15
不可能在github中使用pre-receive钩子,所以我们在客户端使用pre-commit hook:http: //git-scm.com/book/en/Customizing-Git-Git-Hooks#Client-Side-钩
我们的预提交脚本(基于http://mark-story.com/posts/view/using-git-commit-hooks-to-prevent-stupid-mistakes)如下所示:
#!/bin/sh
for FILE in `git diff-index -p -M --name-status HEAD -- | cut -c3-` ; do
if [ "grep 'TODO' $FILE" ]
then
echo $FILE ' contains TODO'
exit 1
fi
done
exit
Run Code Online (Sandbox Code Playgroud)
我们在我们的控制版本系统下有这个脚本,并在.git/hooks中创建一个符号链接
谢谢您的帮助 :)
编辑:因为if语句中的grep行为我们需要编辑我们的脚本:
#!/bin/sh
for FILE in `git diff --name-only --cached`; do
grep 'TODO' $FILE 2>&1 >/dev/null
if [ $? -eq 0 ]; then
echo $FILE ' contains TODO'
exit 1
fi
done
exit
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2357 次 |
最近记录: |