git pushを取り消したらワークツリーからも消えてしまった件
ローカルのgitリポジトリにcommitして、それをgithubへgit pushしたら、ちょっと間違いに気がついたので取り消したくなりました。
githubにpushしてからcommitが間違っていたことに気付きました。以下のようにすると取り消せました。
git rebase -i HEAD~2 ← エディタが開くので二行目を削除して保存する git push origin +mastergithubにpushしたcommitの取り消し - 七誌の開発日記
検索して見つけた上記エントリーを参考に、git rebaseがどんなコマンドか把握しないまま、とりあえずこの通りやれば良いかと思ってやったら、ローカルのワークツリーからも消えてしまいました。
間違いというのは、コミットコメントだったので、もう一度git commit -am '正しいコメント'; git pushをしたかったのに、github上にも、ローカルのリポジトリ*1からも、ワークツリーからも消えてしまいました。
もしかしたらどこかに残ってたり、直ぐに入力すれば何とかできるコマンドがあるのかもしれませんが、あんまり詳しくないのでどうしようも無い状況に。*2
いまだにgit rebaseはよく分からないし、+masterの + の意味も分からないし、gitは引数にちょいちょい記号が入ってきて複雑です。
やり直したかったこととGithubのIssues Trackerについて
Generating Configure file for prefecture and city. Close #6. Close #7
Generating Configure file for prefecture and city. Close #6. Close #7 · kanonji/zipcode@73f251e · GitHub
ちなみに直したのはこのコミットです。
Generating Configure file for prefecture and city. Close #6 #7
最初はこのコメントでcommitしたら、#7のissueがクローズされませんでした。
ドキュメントが見当たらないのでもしかしたらですが「Close #x」じゃないといけないのかと思って、やり直しました。
Generating Configure file for prefecture and city. Closed by @73f251e
Configure::read()用の市区町村arrayを出力する機能を実装 · Issue #7 · kanonji/zipcode · GitHub
やり直したら一応、両方クローズ出来たんですが、今度はissueのコメントに上記の様な自動でコミットコメントが入るはずが、入りませんでした。
もしかしたら、2つのissueに対して1個のcommitで作業するなって事かも知れません。
それは今度から気をつけるとして、今回は手作業でissueにコメントしておきました。