TortoiseGit RefLogでHEADを最新リビジョンに戻す手順2/2

前回に引き続き、無料の Git クライアントソフトウェア TortoiseGit で、前回、HEAD (現在のコミット位置を指す情報) を最新よりひとつ前のコミット位置(リビジョン)に移動した後に、ログに表示されなくなった最新のコミット位置を RefLog で表示して、最新のコミット位置に HEAD を戻す手順を紹介します。

TortoiseGit ダウンロードとインストール1

TortoiseGit-2.17.0.2-64bit を使用します。

前回の記事

TortoiseGit のリセットメニューを使って、最新の3回目のコミット位置(リビジョン)から、1つ前の2回目のコミット位置に HEAD の参照先を移動しました。

TortoiseGit git reset -soft HEAD~ と同等のメニューの実行7

これについては、以下の前々回の記事を参照してください。

その結果、HEAD 以前のコミットを表示するリビジョンログダイアログ(ログメッセージ)には、最新の3回目のコミットが表示されなくなりました。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認4

これについては、前半は、以下の記事を参照してください。

HEAD を1つ前のコミット位置から最新のコミット位置に戻す

前回表示した RefLog ダイアログで、 HEAD の位置を 2 回目のコミットから、最新の 3 回目のコミット位置に戻します。
※エクスプローラで、リポジトリフォルダを右クリックして表示されるメニュー「TortoiseGit」→「RefLog を表示」を選択します。

TortoiseGit の RefLog ダイアログに表示された、最新の3回目のコミット履歴の行右クリックして表示されるメニュー「”master” をここへリセット」を選択します。
※ master は使用しているブランチ名です。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認7

表示された「リセット」ダイアログ(下図の右側)では、「現在のブランチのリセット」枠の HEAD の移動先に「コミット」ラジオボタンが選択されていて、そのコミットを指すハッシュ値 (SHA-1) も書かれています。

その右側の 「…」 ボタンを押すと、そのハッシュ値が指すコミットの情報を「リビジョンログ」ダイアログ(ログメッセージ)で確認できます。

ハッシュ値は、先ほど RefLog ダイアログで右クリックで選択した、最新の3回目のコミットを指していることが確認できました。
確認が済んだら、「リビジョンログ」ダイアログ(ログメッセージ)をキャンセルボタンで閉じます。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認8

「リセット」ダイアログのコミットの確認が済んだら、「リセットの種類」枠で Soft ラジオボタン (git reset –soft オプションと同等)を選択して OK ボタンを押して、リセット (Soft) を実行します。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認0
git reset --soft 3回目のコミットを指すハッシュ値

と同等のコマンドが実行されました。「閉じる」ボタンでダイアログを閉じます。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認10

RefLog ダイアログを OK ボタンで閉じます。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認11

リセット (Soft) による HEAD の変更の確認

HEAD (現在のコミット位置を指す情報)を、 RefLog ダイアログのリセットメニューを使って、2回目のコミット位置から、最新の3回目のコミット位置にリセット (Soft) で変更しました。

すでに、3回目のコミットの内容を持つ file.txt は、先ほどは HEAD が2回目のコミット位置を指していたため、差分で赤いマークが表示されていましたが、 HEAD が3回目のコミット位置に変更されたため、現在のコミット内容との差分がなくなり緑色のマークになっています。

エクスプローラで、リポジトリフォルダを右クリックして表示されるメニュー「TortoiseGit」→「ログを表示」で、「リビジョンログ(ログメッセージ)」ダイアログを表示して、ログを確認してみましょう。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認12

前回は、 HEAD が2回目のコミット位置を指していたため、それ以前の2回目と1回目のコミット履歴しか表示されませんでした。

今回、RefLog ダイアログのリセット (Soft) メニューで HEAD を最新の3回目のコミット位置に変更した後は、3回目のコミット履歴も表示され、その3回目のコミットにブランチ名の赤枠も移動しています。

以上で HEAD最新の3回目のコミット位置戻ったことが確認できました。

確認が済んだら、OK ボタンで「リビジョンログ(ログメッセージ)」ダイアログを閉じます。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認13

この結果は、git log –oneline でも確認できます。
※ Windows10 の場合、リポジトリのフォルダをエクスプローラで開いて、アドレスバーに cmd⏎ と入力すると、そこを作業ディレクトリにしてコマンドプロンプトを起動できます。

TortoiseGit reset --soft で1つ前のコミット位置から最新のコミット位置にreflogで戻してログを確認14

上から順に、最新の3回目、2回目、1回目のコミット履歴が表示されました。
また、最新の3回目のコミットの行には 「HEAD -> master」 と書かれていて、 HEAD が3回目のコミット位置を指していることも確認できます。

G:\Dev\StudyTortoiseGit\Repo1Soft>git log --oneline
fa795f0 (HEAD -> master) file.txt に 2 行目を追加
1f1f4dd file.txt に hello, world を追記。
e2829b8 file.txt をバージョン管理に追加します。

まとめ

全2話で、無料の Git クライアントソフトウェア TortoiseGit で、前回、HEAD (現在のコミット位置を指す情報) を最新よりひとつ前のコミット位置(リビジョン)に移動した後に、ログに表示されなくなった最新のコミット位置を RefLog で表示して、最新のコミット位置に HEAD を戻す手順を紹介しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました