Q1: No. Commiting to a GIT repository means commiting to your local repository. To make your changes available to others (ot your other computer) you have to push them to the central repository (github in your case) and than pull it from the other locations.
Q2: Git supports tagging. This means you mark a revision with a label e.g. "1.0.0 beta" or whatever. You can use this label when you checkout elsewhere, so you can checkout the exact same revision "1.0.0 beta" as you marked it earlier. (See git tag --help
for more information)
Q3: I would recommend always changing the whole Framework. This might be some kB more traffic, but you don't need to worry wich files should I change. When you want to upgrade to the framework "1.0.0 beta" as tagged earlier and you change all files, there is no risk that you forgot something.