Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

git - Create global pre-commit hooks for entire team

How can I create a global pre-commit hook that is available for everyone in the team to use? Basically, I want that anytime someone clones the remote repository he should get this global pre-commit hook by default.

I came across this change default git hooks, Git commit hooks - global settings and this https://coderwall.com/p/jp7d5q where it suggests to create a template directory having common hooks and set init.templatedir to point to this directory. However this is useful only for setting default hooks for yourself on your own machine. How can the pre-commit hook be made available to entire team by default?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Luckily there is not a way to force hooks to people upon clone.

If there was, you could write a post-receive hook with rm -rf / in it and wipe people's hard disk on pull

What you can do is set up a command to automatically install repository hooks locally. There are some software packages like husky which simplify this task. Basically you can configure it on the repo and then require people to run npm i as soon as they clone the repo, and from now on they will use the hooks that you specify on the repo.

You should only do it with people you trust though, as once you install the hooks with npm i command you expose yourself to the attack specified above


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...