title: Why commit without a push in git?
body: <p>I am starting to learn Git. I've been messing around with GitKraken, and I hope that using a GUI is a viable path for saving and sharing stuff. I prefer GUIs to the command line.</p>
  
  <p>Now I understand, in the GUI, I need to <code>stage</code> files, then <code>commit</code> them and then <code>push</code>, to upload them. But why are <code>push</code> and <code>commit</code> two different things? Why would  want to just <code>commit</code> locally, without the following upload to keep files synced?</p>