まず手元でパッチを当てるためのブランチを作成。ここでは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を作成する。