危険察知4 択難易度 標準

状況

ログイン修正のブランチを、プルリクエスト用に push したい。作業者が打ったコマンドは次のとおり。

Enter の前に止めるべき点は?

$ git branch --show-currentfeature/fix-login$ git push origin HEAD:main

正答

  1. HEAD:main は今のブランチを remote の main に直接 push する
  2. -u を付けないと、ブランチが remote に登録されず push が失敗する
  3. HEAD は直前のコミットを指すので、最新の変更が push されない
  4. origin ではなく upstream に push しないとプルリクエストを作れない

解説

git push origin HEAD:main は「今のコミットを remote の main として送る」という意味で、main が保護されていなければ、レビューを通らずに feature の内容が main に入り、そのまま本番デプロイの対象になりうる。プルリクエスト用なら git push -u origin feature/fix-login と書く。-u は追跡先を設定するオプションで、無くても push 自体はできる。HEAD は今いるブランチの最新コミットを指す。

参考: git-scm.com

gitpushbranch

この問題を含む 危険察知 のテストを制限時間つきで解く

危険察知クイズへ