前提


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で差分をリセットしてから再コミット
・強制オプションは最小限に留める