As in this post comment, what does your /Web/git/Logs/ErrorLog says about that error?
After looking in /Web/git/Logs/ErrorLog, I found out there’s a permission problem on the lock file.
In my httpd-dav.conf, I have the line…
DavLockDB “/usr/var/DavLock”
I then checked the /usr/ directory, the ‘var’ directory was missing.
$ mkdir var
$ cd var
$ chown www .
$ chgrp www .
And then repeating the process seems that now I can push!! =)
As mentioned by Eddie in the comments and by Arrowmaster in his (upvoted) answer, the smart http protocol is now part of recent Git distribution.
The git-http-backend CGI script can takes care of any git commands through http.

The smarter protocols (git and ssh) would instead have a conversation with the git upload-pack process on the server which would determine the exact set of objects the client needs and build a custom packfile with just those objects and stream it over.
Git 2.17 (Q2 2018) will add a debugging aid.
See commit a2b9820 (24 Jan 2018) by Patryk Obara (dreamer).
(Merged by Junio C Hamano -- gitster -- in commit 39a1dd8, 13 Feb 2018)
http-push: improve error log
When git push fails due to server-side WebDAV error, it's not easy to
point to the main culprit.
Additional information about exact cURL error and HTTP server response is helpful for debugging purpose.