sequenceDiagram participant A as working directory<br>(working tree) participant B as staging area<br>(index) participant C as local repository<br>(local branch) participant D as local repository<br>(tracking branch) participant E as remote repository A->>B: git add/rm B->>C: git commit C->>E: git push C->>A: git switch -c<br>(checkout) E->>D: git fetch D->>A: git merge E->>A: git pull (実質的には git fetch + git merge)