GitHub 間違ってmasterにpushした話

先週、GitHubで初めてプルリクエスト(PR)をしようとして、間違ってmasterにpushしてしまった。

つまりGitHub上のコードが上書きされてしまった。気をつけようと思ってたのに…。

今回は自分で作った自分だけのリポジトリだったので、強制的に前の状態に戻して、改めてpushすることに。

プルリクエストとは

プルリクエスト(pull request)とは、GitHubでブランチにプッシュした内容を他の開発者に通知する機能。マージする前にコードレビューや議論を行うことができる。

masterへのプッシュをやり直す手順

(共有リポジトリでやると大変なことになるかもしれないので要注意!)

やりたいこと:masterへのpushを取り消して、developブランチをプッシュする

# masterブランチにいる状態
# 戻りたいコミットを確認してコミットID(ハッシュ)をコピーする
$ git log

# 指定したコミットまで戻る(リセット)
$ git reset コミットID

# フォースプッシュ(強制プッシュ)してリモートリポジトリをプッシュ前の状態に戻す
$ git push -f origin master

# リセットを取り消してローカルリポジトリをリセット前の状態に戻す
$ git reset --hard ORIG_HEAD

# developブランチへ切り替え
$ git checkout develop

# developブランチをプッシュ
$ git push origin develop

これで、GitHub上にdevelopブランチができるので、そこからプルリクエストする。

プルリクエストは以下の記事の手順でやった。

qiita.com

自分だけのリポジトリでも焦った。これが仕事だったらと思うと…。たくさん練習して慣れていきたい。