今回はGitでpushした内容の取り消しを行いたいと思います。
やりたいこと
①ローカルリポジトリにcommitした内容をもとに戻す
②リモートリポジトリにpushした内容をもとに戻す
<イメージ>
コミットの取り消し
git logコマンドで取り消したいコミットIDを確認する
以下過去にコミットした内容のコミットIDを確認できるコマンドになります。
git log
実行結果
commit 4354ebde1ce828f3a509ae3c0b96fe245e06fabe (HEAD -> Techs_test_branch1) Author: TechReport <ww.ys7my@gmail.com> Date: Sun Apr 26 19:57:18 2020 +0900 取り消しテスト
コミットIDは「4354ebde1ce828f3a509ae3c0b96fe245e06fabe」になります。
ちなみに(HEAD -> XXXXXXX(ユーザ名))がついているものは最新のコミットという印になります。
「取り消しテスト」と記載されている箇所はコミット時に設定したメッセージになります。
git revert コマンドで任意のコミットを取り消し
以下コミットIDを指定して取り消しするコマンドです。
git revert <commit id>
例)git revert 4354ebde1ce828f3a509ae3c0b96fe245e06fabe
コッミトメッセージの入力が求められるため 必要に応じて以下コマンドで終了してください。
・変更した場合:【:wq】保存して終了
・変更しない場合:【:q!】保存せずに終了
実行後に git logコマンドで確認してみましょう。
commit eec92d42ab1efd91ccfcdf6d91cf90b7920ca073 (HEAD -> Techs_test_branch1) Author: TechReport <ww.ys7my@gmail.com> Date: Sun Apr 26 20:04:48 2020 +0900 Revert "取り消しテスト" This reverts commit 4354ebde1ce828f3a509ae3c0b96fe245e06fabe.
取り消し(reverts )されてますね。これでローカルにコミットした内容の取り消しは完了です。
push コマンドでリモートリポジトリに反映
もし、取り消したいcommitを既にリモートリポジトリにpushしてしまっている場合は最後にpushしてあげましょう
git push origin [ブランチ名]
例) git push origin Techs_test_branch1
master場合は「git push」のみ
これでリモートリポジトリへの取り消し修正も完了です。
参考)revert コマンドの便利なオプション
最新のコミットを指定した取り消し
コミットIDを指定せずに「HEAD」と入力しましょう。
git revert HEAD
取り消し時にメッセージの編集をスキップしたい
末尾に「–no-edit」を付与してあげましょう。
git revert <commit> --no-edit
以上です。
<関連記事>
・コマンドラインから脱却・Gitクライアントツールはこちら
SourceTreeのダウンロード・インストール for Windows 10【Gitクライアント】 – Tech’s Report
・コミットとプッシュのやり方はこちら
【簡単解説】Gitのコミットとプッシュのやり方【commit – push】 – Tech’s Report
・クローンとブランチ作成のやり方はこちら
【簡単解説】Gitのクローンとブランチ作成のやり方【clone – checkout】 – Tech’s Report
・チェックアウト・ブランチ切り替えはこちら
【簡単解説】Gitのブランチを切り替える方法【git checkout】 – Tech’s Report
・ブランチのマージのやり方はこちら
【簡単解説】Gitのブランチをmasterにマージする方法【git merge】 – Tech’s Report
コメント