TortoiseGitでGitを使用する場合:単一のファイル(または完全なリポジトリ)を以前のリビジョンに戻す方法を誰かが知っていますか?
たとえば、複数のファイルを含むリポジトリがあります。 3つのリビジョン(1; 2; 3)に1つのファイルが存在します。次に、リビジョン3から2に戻したいと思います。
TortoiseGitは、「ログの表示」ダイアログに「元に戻す」機能を提供しており、特定のリビジョンに戻ることができますが、これにより、単一のファイルではなくリポジトリ全体が元に戻ります。
また、何かを元に戻した後は、元に戻す操作を元に戻して最新のリビジョンに戻る方法がわかりません。
TortoiseGitでの答えは、プロジェクトフォルダーを右クリックして[ログの表示]をクリックし、次にロールバックする変更を右クリックして[これに切り替え/チェックアウト...]をクリックすることです。これにより、コミットスタックの奇妙な場所から処理を進めることができます。コミットを計画していて、正常な状態を維持したい場合は分岐できます。
コマンドラインから: git checkout
はおそらく必要なものです。
ドキュメントは次の例を示しています:
$ git checkout master~2 Makefile
Makefile
をmasterブランチの2つのリビジョンに戻すには
TortoiseGit内(Windowsエクスプローラーを使用)では、次の手順でこれを実行できるようです。
Show log
を選択しますRevert to this revision
を選択します1 files revert to e19a77
のようなメッセージが表示されます特定のファイルを取得することも可能です。
TortoiseGitはすべてのリビジョンのリストを含むダイアログを表示します
ダイアログ下部のリストには、コミットに関連するすべてのファイルが表示されます
例:-元のファイルはfile.txtです-リビジョン2はfile-67b51a8.txtとして保存されます
TortoiseGit v2.2.0.0を使用しています
これらのコメントに基づいて私の答えを更新しました:
作業ツリーがクリーンで、次のようにしたいとします。
以前のリビジョンのいくつかのファイルをチェックアウトします
(a)元に戻したいファイルを右クリックし、そのファイルのログを表示します
(b)ファイルリストでファイルを右クリックし、親のリビジョンに戻すを実行します
(c)必要なすべてのファイルが得られるまで、(a)、(b)を繰り返します。
テスト中
現在のリビジョンに戻す
(a)エクスプローラーのコンテキストメニューでRevert ...を実行する
このようにして、元に戻すファイルを選択できます。
(b)またはこの簡単な方法:ログダイアログでReset Hardを実行します
これにより、変更されたすべてのファイルが元に戻ります。 (=>すべての作業ディレクトリの変更が失われました)
(TortoiseGit 1.8.16.1、GfW 2.6.4.windows.1、Win 10 64ビットでテスト済み)
Tortoiseバージョン2.3.0の場合:
あなたはそれをいくつかの方法で行うことができますが、私が思うに最速はそれです: