People just upload the KiCAD project directory to github (or correctly, by using git).
I would suggest however, that they put the KiCAD project in a separate directory in the git project, not in the root directory. That way they can keep KiCAD files separate from README, LICENSE, images or whatever they put in the git root folder.
A KiCAD project can be shared this way and it will work without issues. But it should be noted that if you have used your own footprint libraries, they are stored in the KiCAD file named <project name>-cache.lib (v5 only). In later versions they are stored in the project files themselves (kicad_sch, kicad_pcb). If you have copied a project from someone else and want to use such footprints in your other projects, you have to open them individually and export them by saving them to your own library. This is a bit cumbersome. I would appreciate if there were an easier way to do this, or to share custom libraries when you share a project like this. Maybe there is and I just don't know how to do it properly.