簡體   English   中英

使用 Git Extensions for Visual Studio 將單個文件恢復為早期提交

[英]Revert a single file to earlier commit using Git Extensions for Visual Studio

我找到了有關如何將 Git 存儲庫中的單個文件還原為早期版本的說明。 但我很好奇是否有人知道使用 Git Visual Studio 擴展來執行此操作的方法。 這個工具到目前為止效果很好,我真的很喜歡它,但我不知道如何做這件事。

在Git Extensions中執行此操作的最簡單方法是打開要還原的文件的文件歷史記錄(例如,從Visual Studio的上下文菜單中)。 然后找到所需的修訂版本,並在上下文菜單中選擇“另存為”。

要還原對工作目錄中的文件所做的更改,只需從Visual Studio的上下文菜單中選擇“還原更改”。

雖然@Henk建議的技術可行,但這是Git方式。

  1. 選擇更改要還原的文件的提交。
  2. 選擇還原提交操作。 一定要告訴Git Extension 不要自動提交恢復操作。 這將導致a)對受影響文件的還原操作和b)正在進行的還原文件

然后你就可以unstage, 你不希望恢復的文件(S) -只留下了一個文件, 你希望恢復被提交。

雖然這可能看起來更乏味,只需文件>另存為,當你必須還原少量文件時,它會派上用場。

編輯了我的帖子。 我不知道為什么我回答了關於mercurial的事。 對於那個很抱歉。 git也有同樣的想法。 我使用tortiseGit(當我使用git時),但命令行更容易。 TortiseGit仍然是一個右鍵點擊還原。 命令行只是'git checkout filename'來從HEAD獲取結賬。

您必須知道,還原歷史記錄中的提交將還原同一提交中的任何其他文件(如果有的話)。

如果你想真正從提交中恢復單個文件,我發現以下工作:

  1. 對於有問題的文件,右鍵單擊並查看歷史記錄。

  2. 在歷史記錄中找到您想要 go 返回的提交(不是您要還原的提交)。 右鍵單擊並查看提交詳細信息。

  3. 在提交詳細信息的頂部,單擊 3 個點並復制提交 ID。

  4. 下拉到命令提示符,在工作文件夾中使用 #3 中的提交 ID 鍵入以下內容

    git checkout [commit id] -- path/to/file

  5. 從命令提示符或在 Visual Studio 中提交更改

    git commit -m 'message: reverted file'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM