2022年11月19日、とあるGitのワークフローの図解がTwitterに投稿された。その図解はとても優れていて、図を見るだけで、Gitを使う時に必要なことを概ね把握できる1。Twitterにはこのような優れたコンテンツがしばしば投稿されるが、残念なことに、どうでもいい理由で削除されたり、アカウントが停止されるため、優れたコンテンツにアクセスできなくなることがよくある。その図解はそうやって紛失してしまうにはあまりに惜しいため、骨格の部分をこのドキュメントにditaaで記述しなおすことにした。
Local Machine | Remote Machine
|
+-----------+ +---------+ +------------+ | +------------+
| Working | | Staging | | Local | | | Remote |
| Directory | | | | Repository | | | Repository |
| | | git pull | | | |
| <---------------------------------------------------- |
| | | | | | | |
| git add | git commit git fetch |
| --------------> -------------> <-------------- |
| | | | | | | | |
| | git chechout | | | | |
| <------------------------------- | | | |
| | | | | | | | |
| | git branch | | | | |
| <------------------------------- | | | |
| | | | | | | | |
| | +---------+ | | | | |
| | +---------+ | | push | |
| | | Stash | | --------------> |
| | | | | | | | |
git stash [save] | | | | | |
| --------------> | | | | | |
| | | | | | | | |
| git stash apply | | | | | |
| <-------------- | | | | | |
| | | | | | | | |
| git stash pop | | | | | |
| <-------------- | | | | | |
| | (removing) | | | | | |
| | | | | | | | |
+-----------+ +---------+ +------------+ | +------------+
|
著作権的に問題があれば消すが、画像をそのままコピーしている訳ではないし、骨格は同じだが、作図し直しており、出力として全く異なる形式をしているため問題ないと判断した。またgit branchやgit checkoutの記述がなかったため追記した。