I have Gitlab setted locally on my server. I noticed, that when i am adding some code to "post-receive" file in some repository, all changes applying to all other repositories in that group.
How to stop it?
Check the "Custom Git hooks setup":
Normally, Git hooks are placed in the repository or project's hooks directory. GitLab creates a symlink from each project's hooks directory to the gitlab-shell hooks directory for ease of maintenance between gitlab-shell upgrades.
This explains why your hook seems to be propagated to all repos of the group.
Follow the steps below to set up a custom hook:
- Pick a project that needs a custom Git hook.
- On the GitLab server, navigate to the project's repository directory. For an installation from source the path is usually
/home/git/repositories/<group>/<project>.git
.
For Omnibus installs the path is usually/var/opt/gitlab/git-data/repositories/<group>/<project>.git
.- Create a new directory in this location called
custom_hooks
.- Inside the new custom_hooks directory, create a file with a name matching the hook type.
For apre-receive
hook the file name should bepre-receive
with no extension.- Make the hook file executable and make sure it's owned by git.
- Write the code to make the Git hook function as expected