GIT concepts

               == add ==>           == commit ==>
               == commit -a ====================>              == push ===>
working dir                Index                   local repo                remote repo
                           (Stage)                 (HEAD)
               <== merge ========================              <== fetch ==
               <== pull ===================================================