実現したいこと
- 作業中の変更を一時的に退避させて、他のブランチで作業できるようにする
- 退避させた変更を元に戻したい
- stash pop 時に発生するコンフリクトを安全に解消したい
- コンフリクト解消時、競合部分が「stash で退避していた変更」なのか「元ブランチ側の内容」なのか判断がつかない状況なので、内容を確認しながら安全にマージするベストプラクティスがあれば知りたい
前提
Gitで複数ブランチを切り替えながら開発しています。
現在、feature/login ブランチでログイン画面の調整作業をしているのですが、develop ブランチでバグ修正の対応を行う必要が出てきました。
ただし、feature/login の変更はまだ途中のためコミットしたくありません。
そのため、git stash で退避し、develop ブランチで作業・コミット後に feature/login に戻って git stash pop を実行しましたが、コンフリクトが発生してしまいました。
手動でファイルを修正しましたが、競合部分が「stash で退避していた変更」なのか「元ブランチ側の内容」なのか判断がつかず、どちらを採用すべきか迷いました。
このような場合、stash 側の変更内容を確認しながら安全にマージするベストプラクティスがあれば知りたいです。
発生している問題・エラーメッセージ
CONFLICT (content): Merge conflict in src/components/LoginForm.tsx
該当のソースコード(操作手順)
# 作業中の変更を一時的に退避させる git stash # developブランチに切り替える git checkout develop (developで作業・コミット) # feature/loginブランチに戻る git checkout feature/login # 退避させていた変更を元に戻す(最新のスタッシュを適用して削除 ) git stash pop
補足情報(FW/ツールのバージョンなど)
Git version 2.41.0