ローカルもリモートも指定のリビジョンまで戻したい場合の方法です。
TortoiseGitで行う方法が出てこなかったのでやっとわかった記念に記録に残します。
gitコマンドでのやり方は出てくるんですけどね・・・
ログを表示
該当ディレクトリで右クリック
TortoiseGit>ログを表示を選択します。
リモートmasterのリベース(付け替え)
戻りたいリビジョンを選び、右クリック>masterをここにリベース(付け替え)を選択します。
強制リベース
「強制リベース」にチェックを付けリベース開始をクリックします。
リベース完了したら終了を押下し、ウィンドウを閉じます。
リモート(origin/master)が変わったのを確認できました。
ローカルmasterをここにリセット
戻りたいリビジョンを選び、右クリック>masterをここにリセットを選択します。
リセットの種類は「hard」を選び、OKを押下。
リモート&ローカルのmaster位置が両方とも指定のリビジョンになっていることを確認できます。
確認できない場合はF5で更新してみてください。
変更をプッシュ
該当リビジョンで右クリック>プッシュを選択。
オプション内で「把握している変更」をチェックしてOKを押下。
無事コミット履歴が指定のリビジョンまで戻りました。
この方法をまとめているサイトが見つけられなかったので、個人的にはすごい発見。大満足です。
ちなみにプッシュしたものの更新漏れがあった・・・これでもう一度プッシュするのはなぁ・・・ってときありますよね。(私はよくあります)
その場合は
- ローカルのファイルをいったんデスクトップなど別ディレクトリに退避
- 上記手順を実施
- 退避させたファイルを修正
- 元のファイル格納場所に上書き保存してからプッシュ
の手順で行うと最初から完全版のファイルをプッシュしたように装えます。