git pushしちゃったのを取り消したい
これだけに時間かけすぎたのでメモ。
gitもっと勉強せな・・・。
はじめに
bitbucketを使ってiOSアプリを開発してました。
masterとdevelopの2つのブランチであちこち修正しながら開発中。
色々リファクタリングとか抽象化とかやってたんだけど、
動作もっさりなのにmasterブランチにcommitしてpushしちゃった残念なパターン。
developでまた色々実験しててパフォーマンスよくなったので、
masterでコミットしちゃったモノを取り消して、
developの変更を反映させたい・・・。
↓↓恥ずかしいコミット
困ったこと
masterにpushできない。
一旦masterを削除して再度pushしな!って情報を見た気がするけどダメだった。
% git reset --hard { ハッシュ値 } % git push origin :master remote: bb/acl: niyaty is allowed. accepted payload. remote: error: refusing to delete the current branch: refs/heads/master To git@bitbucket.org:niyaty/myproject.git ! [remote rejected] master (deletion of the current branch prohibited) error: failed to push some refs to 'git@bitbucket.org:niyaty/myproject.git'
以下の記事を参考に実行(そのまま実行しましたすいません)
http://d.hatena.ne.jp/shunsuk/20101202/1291278345
- fオプションつけてガチムチpushな感じでイケてない気がするけど、
1人でいじってるリポジトリだから、まぁいいんじゃないかと・・・。
複数でいじってたらこれはNGですね。
色んな人から怒られそう。。。
反省点
git勉強しなさいの一言なんだけど・・・。
自分1人だからってcommitが適当すぎるかな。
masterあまり触らないようにしたほうが良いかも。
勉強がてらgit-flowとか使ってみても良いのかなー。
よーく考えてmasterにcommitしよう、という教訓になりました。