間違えた内容をcommitしちゃった(泣)特定のcommitだけ取り消す方法
- 2021.11.04
- git
- Git, GitHub, revert, Sourcetree
タイトルの通りです。
そうです。
僕がこの記事を書いてるということは、仕事で誤った内容をcommitしちゃいました(泣)
git周りは大かたsourcetreeに操作を任せているので、GitHubを使って管理をしていながら僕自身はあまりgitが得意ではありません。
そんな恐らく五万といるであろう(希望論)僕みたいな人たちに向けて、今回は一度commitしてしまった特定のcommitのみを取り消す方法をご紹介します。
revertコマンド
見出しの通りです。
今回はこのrevert
コマンドを使います。
これは「特定のコミットを取り消す」コミットを作成します。
「復元する」というコミットを上書きをするって感じですね。
ちなみに、調べていると頻出だったrevertに似たコマンドにreset
があります。
resetは「コミット自体を履歴から取り消す」操作っぽいので、gitに履歴が残りません(たぶん)。
個人的には保守運用の観点から、「コミットを取り消した」という履歴も残した方が良いと思うので、resetは使わずにrevertを使った方が良いと思います。
Sourcetreeの場合
- Sourcetreeの「履歴」から取り消したいcommitを見つける
- 右クリックでメニューを開いて「コミット適用前に戻す…」をクリック
- 確認のダイアログが表示されますが、「はい」で続行
これで完了です。現在のcommitに「commitを取り消した」というcommitが生成されます。
この状態でcommit&pushすると、GitHubには「Revert “〜〜〜〜”」というcommitが加わります。
Gitで操作する場合
僕が慣れていないのであまりしたくありませんが、Gitコマンドのみで操作する場合もご紹介しておきます。
- GitHubで取り消したいcommitのid番号を控える
- 以下のコマンドを実行
- git revert xxx (xxxはcommitのid番号)
- commitメッセージは「:q」でそのまま保存
以上が手順になります!
皆さんはrevertしなくてもいいようにきちんと指示を聞いてからcommit&pushしましょう、、、(トホホ)
-
前の記事
MAMP/XAMPPをインストールしたときに入っている機能 2021.11.03
-
次の記事
【Laravel】EventとListenerについて 2021.11.09