« ^ »

Gitワークフロー

所要時間: 約 2分

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の記述がなかったため追記した。