
Top to down, left to right
- XXX’s GitHub repository : “offical” page
- Your GitHub repository : “personal” page
- Working directory : “battlefield”
- Local repository : local project storage
- Index : cache space
"fork": web “offical” -> “personal”"Pull request": web handle to “offical”push: local storage to remote storagefetch: remote storage to local storageclone: copy a remote git projectpull XXX-github: get “offical” update to local storage and merge to “battlefield”merge: merge local storage to “battlefield”pull my-github: get remote storage update to local storagecheckout: reset file or hash version to “battlefield” directly from local storagecheckout: reset file cover “battlefield” from cachecommit -a: handle to local storage and update to remote directly(push)commit: handle to local storageadd: put add/delete/modify to cachereset: reset file or hash version to cache from local storage