リモートのブランチにpushしちゃった....みなさんは、こんなことないでしょうか?developブランチで作業をしていて、そのままコミットまで行いリモートのdevelopにPUSH!!!!!!!!僕はよくあるんですよね。誤ってPUSHしてしまったこと自体を取り消したい場合です。やり方としては、リモートブランチの誤ってPUSHした分のコミットを戻して、ファイルの変更もコミットもなかったことにしてしまおう!ということです。この方法、メリットもデメリットもあるので気をつけましょう!メリットうまくいけば誰にもバレない(スピード勝負w)うまくいけば何事もなかったかのようにできる無駄なコミットが増えないで済む簡単にできるデメリットバレたらよくないw強制PUSHして強制的に履歴を書き換えなければならない誤ってPUSHしたリモートのブランチを他の誰かが既にローカルへ反映させていると、不整合が生じてその人は次回からpullできなくなる(rejectされる)それでは、やり方を見ていきましょう。HEAD^そしてこの状態でリモートへ普通にPUSHすると、コミット履歴で不整合が生じてしまっているのでPUSHできません。そのためリモートのブランチを修正するために強制PUSHを使用してブランチを誤ってPUSHしてしまう前の状態へ戻しましょう!ブランチ名の前に+をつけることで強制PUSHになります。+developなど戻したいコミットが複数ある場合こちらは誤ってPUSHしてしまった分に含まれるコミットが複数ある場合の対処方法です!手順としては、戻したい位置のコミットIDを確認しローカルのブランチをその位置まで戻します。その後先程と同様に、強制PUSHを使用して前の状態へ戻しましょう!それではやっていきます!まず戻したい位置のコミットIDを確認しましょう!今回は、b08a643e981e07b4c46afc1c73aa3472cb778851に戻します。hogehogeそして先程確認したコミットIDまでコミットを戻します。b08a643e981e07b4c46afc1c73aa3472cb778851このままだと、HEADにいる状態になっていますので、ブランチ名をリネームして置き換えます。+masterリモートのpush操作だけを取り消すローカルの変更内容はそのままで、誤って行ってしまったリモートのPUSH操作だけを取り消す方法ですこちらは直接リモートのブランチのコミットを特定のコミットまで戻す操作になります。事前にコミットIDを確認しておいて、リモートのブランチのコミットだけを書き換えることができます。b08a643e981e07b4c46afc1c73aa3472cb778851に戻します。b08a643e981e07b4c46afc1c73aa3472cb778851:masterPUSHした事実は残し、ファイルの変更内容は取り消したい場合こちらは誤ってPUSHしてしまった分のコミットは残して、取り消しコミットで新しいコミットを作成し、ファイルの変更を取り消す方法です。打ち消すコミットがひとつの場合は、revertを使用します。最後に打ち消しコミットが複数ある場合も確認していきましょう!戻したい位置を確認します!今回は、b08a643e981e07b4c46afc1c73aa3472cb778851の状態に戻します。hogehoge現在いるコミットから戻したいコミットまでは2つ分なので、打ち消したい範囲を指定します。HEAD..HEAD~2のように「...」で範囲を指定することができます。masterこのように誤ってpushしてしまったときの取り消し方法を確認してきましたが、実際にプロジェクトなどで誤ってdevelopやmasterを直接変更してしまった場合は、Gitを管理している方と修正方法を相談してからの方が良いでしょう!事前に本記事で修正方法を確認しておくと、Git管理者の方とも話がスムーズですし、何より焦らずに済みますので、この機会にしっかりと確認しておきましょう!またGitで誤ってコミットしてしまった!!なんて場合は以下の記事を参考にしてください。Gitで誤ってコミットしたファイルをaddの前の状態に戻したいときGitを最短でマスターする方法Gitの書籍でマスターするGitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉この書籍は、プログラミングを初めたばかりの初心者やGitをコマンド操作ではなく、SourceTreeというツールで簡単に初めたい方にオススメです。独習Gitこの本は基礎から実際のプロジェクトでの活用方法までのガッツリ習得したい方向けとなっています。プログラミングを学び初めて半年以上の方や仕事でプログラミングをやっている方が一からGitを学ぶ場合にオススメの書籍です。僕は最初ネットの記事などを見てGitを使っていたのですが、基礎からしっかりとGitをマスターしたいと思い、こちらの講座を受講しました!内容的には、プログラミング初心者でも経験者でもGitを一から学びたいという方はオススメです!こちらの講座はGitをコマンドラインで進めていくのですが、Gitを難しい部分をイメージできるようにイラストや図で詳しく解説されていて、addやcommitが裏で何をしているのかまで詳しく理解できるようになります!どうしても書籍のほうがいい!というこだわりがなければ、udemyの動画であれば実際に手を動かさなくても、ただ動画を見るだけで理解ができてしまうのでオススメです。Gitのインストール自体は、Windows、Mac、LinuxどのOSでも簡単です。Gitのインストール自体は、Windows、Mac、LinuxどのOSでも簡単です。普段PCでUbuntuを使用しているのですが、最近そのUbuntuのOSを新しくしました。OSを新しくすると、毎回自分が使いやすいようにセットアップするのが結構大変です。前回に引き続き、手順を実施していきますので、Gitのインストール自体を済ませていない方は、前回の手順を実施してから、こちらの手順へ進んでください。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ホームGit検索kouフリーランスのプログラマーです。・フリーランスエンジニアインフラ構築からシステム開発まで、ご相談を受け付けています。PHP/Laravel、Vue.js/Nuxt.js、React/Next、クリーンアーキテクチャ、マイクロサービスなどの業務経験があります。その他、Python/Django、Java/SpringBoot、JavaScript、WordPressなどの経験もあります。お仕事のご依頼は、メニューのお問い合わせからお願いします。検索kouフリーランスのプログラマーです。・フリーランスエンジニアインフラ構築からシステム開発まで、ご相談を受け付けています。PHP/Laravel、Vue.js/Nuxt.js、React/Next、クリーンアーキテクチャ、マイクロサービスなどの業務経験があります。その他、Python/Django、Java/SpringBoot、JavaScript、WordPressなどの経験もあります。お仕事のご依頼は、メニューのお問い合わせからお願いします。APIHerokuHomebrewHTMLJavaJavaScriptjQueryLaravelLinuxMacMezzanineMySQLNodeNuxtPC紹介PHPPostgreSQLPythonReactRedisSalesforcescaffoldSeleniumShellslackSQLiteTerraformTypeScriptUbuntuVirtualBoxVue.jsVultrWordPressXcode。