我是靠谱客的博主 粗暴月饼,最近开发中收集的这篇文章主要介绍 与你的团队分享git hooks的两种方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Git hooks 是git非常好用的一个特性,在我自己的项目中,我需要保证我的所有go源文件都能够被正确地格式化,然后才能够被commit。因此,我用了一个很简单的git hook完成这项工作,你可以把这个文件的内容保存到.git/hooks/pre-commit来实现这个功能。

对我个人而言,这样的工作已经足够,但是我想把这个好主意分享给我的小伙伴们。这篇Stack Overflow 文章给了我一些灵感,我在这里进行一些扩展。

创建你的受控的Hooks文件夹

由于.git文件夹是不会被git跟踪的,因此我们需要在根目录创建一个.githooks来存储我们的hooks脚本。你可以选择任意的文件夹名,只要能够work即可。记住所有的hooks需要可执行权限,所以需要保证所有的hook脚本都执行过chmod +x命令,否则,脚本将不会工作。

选择你的分享策略

如果你的 Git版本为Version 2.9或者更高,你可以简单地通过设置core.hooksPath配置项来实现你的功能:

$ git config core.hooksPath .githooks

如果你在使用低版本的Git,你可以通过符号链接实现上述功能,你可以通过这个命令实现git的重定向:

$ find .git/hooks -type l -exec rm {} ; && find .githooks -type f -exec ln -sf ../../{} .git/hooks/ ;

共享你的脚本

虽然hooks通常是本地脚本,但是在共享的时候,通常需要确保团队的成员都能够将hooks放置在合适的位置,并且能够正常地工作。特别是在他们每次做了新的checkout的时候,因此我把我的脚本放在了Makefile中,在每次我的项目初始化的时候自动去执行,下面是我的两个任务:

init:
git config core.hooksPath .githooks

earlier version:

init:
find .git/hooks -type l -exec rm {} ;
find .githooks -type f -exec ln -sf ../../{} .git/hooks/ ;

最后

以上就是粗暴月饼为你收集整理的 与你的团队分享git hooks的两种方式的全部内容,希望文章能够帮你解决 与你的团队分享git hooks的两种方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部