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