簡體   English   中英

如何使用EGit將所有文件還原到以前的提交?

[英]How do I revert all files to a previous commit using EGit?

我正在GitHub上使用EGit 2.2.0.20-1212191850-r。 我所有的本地文件都已提交並推送。 只有master分支。 我想將所有文件永久還原到以前的提交(而不是HEAD〜1)。 我該怎么做?

這是我嘗試過的:

  1. 我打開了“歷史記錄”窗格,在其中可以看到所有過去的提交。
  2. 我右鍵單擊較早的提交,然后選擇“重置”>“硬”。
  3. 我看到了舊版本。 我嘗試提交舊版本,但是即使已將它們明確添加到索引中,也沒有任何更改的文件顯示在“提交更改”窗口中。

我還在步驟2中嘗試了Checkout,結果相同。

Eclipse git checkout(又名revert)無關緊要,因為它只是恢復到HEAD,而不是更早的提交。

我真正想做的是從先前的提交中創建一個新分支,但我會進行恢復。

如果您已經推送了提交,通常建議還原提交。 這樣做的原因是,還原將向歷史記錄添加新的提交,而不是替換歷史記錄,這使得其他人可以只提取而不需要基於替換的歷史記錄。

因此,在“歷史記錄”視圖中,選擇要撤消的最新提交,打開上下文菜單,然后選擇“還原”。 對父提交重復以上操作。 完成后,推送結果。

還要注意,“ git checkout”和“ git revert”是不同的東西,“ git revert”創建一個新的提交,該撤消撤消先前提交的更改。 另一方面,“ git checkout”將工作目錄或當前分支更改為提交。 您可能會感到困惑,因為“ svn revert”執行的是“ git checkout”,而不是“ git revert”。

暫無
暫無

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

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