Reasonable Code

ほどよいコードを書きたい

Git/GitHub

git pushを取り消す2つの方法

投稿日:

git pushを取り消す2つの方法をメモしておきます。

git pushを取り消す2つの方法

  • git revertでコミットを打ち消す
  • git resetでコミットをなかったことにする

git revertは誤ったコミットを打ち消すためのコミットを行います。コミットログとしては、誤ったコミットとそれを打ち消すためのコミットの2つが残ります。過去の履歴を書き換えないので、安全に取り消しが行えます。

git resetはコミットをなかったことにします。コミットログから、誤ったコミットを消し去ります。いわゆる歴史の書き換えですね。コミットログは見やすくなる一方、歴史を書き換えるので、チーム開発をしている場合にコンフリクトが起きる可能性があります。

git revertでコミットを打ち消す

コマンドのみだとわかりづらいので、実際に試してみます。

git revertは誤ったコミットを打ち消すためのコミットを行っていることがわかります。誤ったコミットもコミットログとして残るので、歴史を書き換えることはありません。このことから、git revertは安全にコミットの取り消しが行える方法といえます。

ただ、不要なコミットが残るので、コミットログが見づらくなります。1人で開発する際は、この後に説明するgit resetを使ったほうが良さそうです。

git resetでコミットをなかったことにする

コマンドのみだとわかりづらいので、実際に試してみます。

git resetは誤ったコミットをなかったことにしているのがわかります。コミットログから消えているので、歴史を書き換えたことになります。コミットログが綺麗になる一方、チーム開発で他の人が同一ブランチで作業している場合、コンフリクトが起きる可能性もあるので使い方には要注意です。

まとめ

  • git revertでコミットを打ち消す
  • git resetでコミットをなかったことにする

git pushを取り消す2つの方法をメモしておきました。git revertgit resetは状況に応じて使い分けするようにしましょう。

参考リンク

-Git/GitHub

Copyright© Reasonable Code , 2018 All Rights Reserved Powered by STINGER.