Git難易度 基礎

状況

feature ブランチで作業の途中(未コミットの変更あり)に、main への急ぎの修正を頼まれた。

急ぎの修正を出して作業に戻るまでを、正しい順番に並べてください。

正答

  • 修正をコミットして push する
  • feature に戻って git stash pop する
  • git stash で作業中の変更を退避する
  • git switch -c hotfix main で修正用ブランチを作る
正しい順番
  1. git stash で作業中の変更を退避する
  2. git switch -c hotfix main で修正用ブランチを作る
  3. 修正をコミットして push する
  4. feature に戻って git stash pop する

解説

未コミットの変更を残したままブランチを切り替えると、変更が修正用ブランチに持ち越されて急ぎの修正に混ざったり、衝突して切り替えられなかったりする。先に git stash で退避し、main から修正用ブランチを作って修正をコミット・push する。終わったら feature に戻り、git stash pop で退避した変更を戻す。pop を feature に戻る前に実行すると、作業途中の変更が修正用ブランチに出てしまう。

参考: git-scm.com

stashhotfixswitch

この問題を含む Git のテストを制限時間つきで解く

Gitクイズへ