I would think most sites are built locally to preview and then the code is committed to GH and then GH builds the site - if you are using GH for hosting.
It is just quicker and easier to build things locally if you are changing things.
You can also either commit the source, or the actual _site. Again I would say most people commit the source rather than the _site folder, unless they are using plugins that GH doesn't like and they want to use the GH hosting.
Jekyll itself has nothing to do with GH or Git (other than it was created by GH more or less). I personally mostly use HG/Mercurial for my version control and keep it on BitBucket rather than GH.
So for me, I have my source on my computer, when I want to add a page or edit something, I do it locally, fire up jekyll to build it, and once I like it, I commit to BitBucket - which is my code repository. Since I am not using GH hosting, I also use a thing called S3_Website to publish the contents of the _site directory to AWS S3 where it is hosted.
There are many ways to use Jekyll, combining it with GH and GH hosting is one of many.