[英]Git (TortoiseGit) - How to revert a single file to a previous revision and then undo the revert?
與TortoiseGit一起使用Git時:有人知道如何將單個文件(或完整的存儲庫)恢復到以前的版本嗎?
例如,我有一個包含多個文件的存儲庫。 一個文件存在三個修訂版(1; 2; 3)。 現在我想從版本3改回2。
TortoiseGit在“顯示日志”對話框中提供“恢復”功能,允許跳回特定版本,但這將恢復整個存儲庫而不是單個文件。
一旦我還原了一些東西,我就不知道如何撤消恢復並跳回到最新版本。
在TortoiseGit中,答案是右鍵單擊項目文件夾並單擊“顯示日志”,然后右鍵單擊要回滾的更改,並單擊“切換/結帳”。 它會讓你從提交堆棧中的那個奇怪的地方繼續,或者分支,以防你計划提交並希望事情保持理智。
從命令行: git checkout
可能就是你想要的。
文檔顯示了一個示例:
$ git checkout master~2 Makefile
將Makefile
恢復為主分支中的兩個修訂版本
從TortoiseGit內部(通過Windows資源管理器)看起來您可以通過以下步驟執行此操作:
Show log
Revert to this revision
1 files revert to e19a77
也可以獲取特定文件:
TortoiseGit顯示一個包含所有修訂列表的對話框
在對話框底部的列表中,它顯示與提交相關聯的所有文件
例如: - 原始文件是file.txt - 版本2將保存為文件-67b51a8.txt
我正在使用TortoiseGit v2.2.0.0
根據這些評論更新了我的答案:
假設工作樹是干凈的,你想要:
簽出其先前版本的一些文件
(a)右鍵單擊要還原的文件,然后單擊“顯示該文件的日志”
(b)右鍵單擊文件列表中的文件,然后執行還原為父版本
(c)重復(a),(b)直到你得到你想要的所有文件。
測試
恢復到當前版本
(a)在資源管理器的上下文菜單中執行Revert ...
這樣,您可以選擇要還原的文件。
(b)或這種快速方式:在Log對話框中執行Reset Hard
這樣,所有更改的文件都會還原。 (=>丟失所有工作目錄更改)
(在TortoiseGit 1.8.16.1上測試,GfW 2.6.4.windows.1,Win 10 64bit)
對於Tortoise版本2.3.0:
您可以通過多種方式實現這一目標,但我認為最快的是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.