紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【Git】直接Masterブランチにpushするという愚を犯してしまったので、猛省して復旧する方法

f:id:yokoyantech:20180817164843p:plain

はじめに

Gitあるあるな話です。

経緯

Gitで障害対応のブランチを作って作業をしていて、Pushをしたら、

git push --set-upstream origin bugfix/40002

という感じの upstreamが出てこず、masterブランチに直接Pushされていた事に気づきました。

原因

  • bugfixブランチを作ったつもりが作れてなかったため
    • うおおおーい!!!checkout -bできてないやんけー!!!
      • 私はcobというエイリアスにしてます
$ git bugfix/40002
git: 'bugfix/40002' is not a git comman
d. See 'git --help'
  • 最近覚えたてのVSCodeのショートカットでGitを操作していたため
    • Ctrl+p
      • >Git: Commit Staged など
        • 試行錯誤中ですがこれはこれで便利。

復旧方法

  • masterブランチへの直前のcommitを打ち消すcommitを作成する
# 直前のcommitを打ち消すcommit作成
# 実行するとcommitコメントを入力する
git revert HEAD
  • masterブランチへPush
git push origin master

まとめ

ブランチができてるはず、という思い込みで作業を進めていたため、慣れは怖いなと思いました。

反省。