githooks

最近代码提交的时候,总会遇到一些拷贝的代码中包含tab的情况,因此需要在提交代码前进行格式检查,发现了这个hooks挺好用的,可以在commit之前检查新增代码中是否包含tab,如果包含,则不予提交:

https://github.com/martinjoiner/portable-code-pre-commit-hook

但问题是,怎么样将这项工作同步到项目中,则参考如下文档:

https://www.viget.com/articles/two-ways-to-share-git-hooks-with-your-team/

以AOSP为例,最终的实现步骤为:

  1. 创建自定义hooks目录:
    mkdir .githooks
    
  2. 下载hooks:
    cd .githooks
    wget https://raw.githubusercontent.com/martinjoiner/portable-code-pre-commit-hook/master/pre-commit .
    chmod +x pre-commit
    
  3. 考虑到AOSP的编译需要执行source build/envsetup.sh,也因此添加如下行到该文件末尾:
    find .git/hooks -type l -exec rm {} \; && find .githooks -type f -exec ln -sf ../../{} .git/hooks/ \;
    

最终项目组的小伙伴们都能用到该功能了。

推荐阅读更多精彩内容

  • 1.什么是 Git Hooks 如同其他许多的版本控制系统一样,Git 也具有在特定事件发生之前或之后执行特定脚本...
    就叫yang阅读 2,203评论 3 10
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 160,021评论 24 690
  • 朋友整理的,放这里偶尔过来看看 一、基本介绍 首先,Git作为版本控制系统,他的原理与SVN为首的集中式版本控制系...
    allenzhan阅读 519评论 0 3
  • 因为2015年9月10号,是我来北京的第10年!也是我创业的第4个年头……但直到今年我做的项目日事清拿到数百...
    创业项目阅读 646评论 0 0
  • 文人嘛,总是需要些东西来刺激自己,那些看起来很在乎的东西只不过是写作的素材而已。
    差一点就饿死了阅读 29评论 0 0