A Git security vulnerability was announced https://github.blog/2022-04-12-git-security-vulnerability-announced/
As a result, if the folder your git repository is in is owned by root
and you are calling a git action from apache as www-data
you will get the error:
fatal: unsafe repository ('/this/directory' is owned by someone else)
To add an exception for this directory, call:
git config --global --add safe.directory /this/directory
This error will also prevent you using git functions in Visual Studio Code. You will see:
The folder currently open doesn't have a git repository. You can initialize a repository which will enable source control features powered by git.
[Initialize Repository]
...
More on the VSCode issue can be found here https://github.com/microsoft/vscode/issues/148023#issuecomment-1110752612
So, like the instructions say, if you add the safe directory, you are able to use git as another user - BUT
I did find that if the directory is owned by root
, you will still see the error if you try calling git as www-data
To fix the issue:
chmod www-data:www-data /this/directory
Where /this/directory
is the directory containing your repository.
Moral of the story is stop cloning or creating git repos as root!