@startuml skinparam ParticipantPadding 5 skinparam BoxPadding 5 box "Local" #White actor Developer collections "Working directory" as working collections "Staging area" as staging database "Local repository" as local end box box "Remote" #White collections "Remote repository" as remote end box remote --> local: git fetch local -> working: git checkout working -> working: editing working -> staging: git add / git rm staging -> local: git commit local --> remote: git push @enduml