Hatena::ブログ(Diary)

このブログは証明できない。

2010-12-02

[]gitで共用リポジトリにpushした変更を取り消す。

天ぷらを大量に食べました。油でギットギトです。というわけで、gitで共用リポジトリにpushした変更を取り消す方法です。gitって、ローカルのリポジトリを使う参考記事は多いですが、共用リポジトリを使う記事は少ない気がしますね。でも、githubのユーザーは多いと思います。


追記 2010-12-03 :重要!注意を書いたつもりが書き忘れてました。共用リポジトリをいじるので、複数人で使ってる場合は他の人に影響がでますよね。注意!!




あ。間違えてcommitしちゃった。しかも、共用リポジトリgit pushしちゃった。しかも、50万円もする布団買っちゃった。まず、間違えてcommitしただけなら、git resetを使います。

$ git reset --soft HEAD^

直前のcommitを取り消しますが、作業ツリーに加えた変更点は取り消されません。それすらも取り消したい場合は、こうします。

$ git reset --hard HEAD^

個人的には、softなのが好みです。




で、頭の残念なあなたは、git pushしてしまっています。ローカルのcommitを取り消した状態で、git pushしようとするとエラーになります。そこで、共用リポジトリの方も変更を取り消します。

$ git push -f origin HEAD^:master

これで、ローカルも共用リポジトリもcommitが取り消されました。改めてファイルを編集、commit、git pushすることができます。50万円の布団については、クーリングオフとか試してみてください。




あと、ホントは天ぷらを食べてません。ごめんなさい。




入門Git

入門Git

sammyclickpresssammyclickpress 2010/12/02 19:51 いつも大変お世話になっております。ところで自分はよくわからないのですが、こんなの見つけました。どこがおもしろいのか分かりませんが、きっとお分かりかと思います。
http://maclalala2.wordpress.com/2010/11/30/「hello-world」のコーディング方法はいくつある?/

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証