How to use find to list all files except those under .git?
The accepted answer is not correct but with a comment it starts you off.

To get no html files

find . -type f   ! -name '*.html'


-name loks at the file part of the path for the whole path you need --wholename so

find . -type f  ! -wholename '*/.git/*' ! -name '*.html'


So only get files (-type) ignore the .git directory - note you need to enter the directory delimiters and the . or else you remove files like .gitconfig which are valid ones 

OK this looks at all file -prune might look at less but the speed probably does not matter it is better as in all code to get an understandable working thing first