まず手元でパッチを当てるためのブランチを作成。ここではlocal/patchとする。このブランチはpushせず、手元で変更内容を反映したcommitを格納するためだけに使う。
* ここにローカルのパッチ (local/patch)
|
* (origin/main/HEAD)
機能を追加する際はlocal/patchをベースブランチとして新しいブランチを作成する。ここではfeature/foobarとする。
feature/foobarにコミットすると、次のようになる。
* 新しくfoobarの機能を実装 (feature/foobar)
|
* ここにローカルのパッチ (local/patch)
|
* (origin/main/HEAD)
開発が終わったらブランチをrebaseする。
このままorigin/mainへ向けてPRするとlocal/patchの変更内容がついてきて不都合なので、feature/foobarをorigin/mainにrebaseする:
* 新しくfoobarの機能を実装 (feature/foobar)
|
| * ここにローカルのパッチ (local/patch)
|/
* (origin/main/HEAD)
そしてfeature/foobarをpushしてPRを作成する。