前提
Pull Request(PR)でレビューを受ける際、差分(diff)はレビュワーの確認対象となるため、不要な変更を含めないことが重要です。
誤ったブランチの切り方をすると、意図しない差分が混ざります。
差分が増える原因例
以下のように、デフォルトブランチ(例:main
)から feat/hoge
を切り
その feat/hoge
からさらに feat/huga
を切ると、hoge
の変更も huga
のPRに含まれてしまいます。
main
└─●──●─── feat/hoge
└─●── feat/huga ← hogeの変更も含まれてしまう
正しいブランチの切り方
新しい作業を始めるときは、必ずデフォルトブランチから直接ブランチを作成します。
git checkout -b 新しいブランチ名 origin/main
これにより、差分には新しい変更だけが含まれます。
誤って切った場合の修正手順
1.必要なファイルを退避
・修正や追加したいファイルを作業用フォルダなどにコピーしておきます。
2.ブランチをリセット
git reset --hard origin/main
→ブランチの内容をデフォルトブランチの最新状態に戻します。
3.退避ファイルを戻す
・退避しておいたファイルを再び作業ツリーに配置します。
4.再コミットとプッシュ
ステージング、コミット、プッシュを行います。
プッシュには 強制オプション(-f) が必要です。これは、リモートブランチから見て履歴が遡ってしまっているためです。
強制プッシュは使用前に影響範囲を確認してください。
まとめ
・新しい作業は常にデフォルトブランチから直接ブランチを切る。
・誤って派生ブランチから切った場合は、git reset --hard origin/main
で差分をリセットしてから再コミット
・強制オプションは最小限に留める