簡體   English   中英

EGit“還原提交”是否會永久刪除原始提交?

[英]Does EGit “Revert Commit” permanently delete the original commit?

我仍在學習Git的工作流程,並意識到當我提交一些文件時,我偶然進入了錯誤的工作分支。 因此,使用EGit,我列出了提交歷史記錄,並從上下文菜單中選擇了Revert Commit,進行了兩次提交。

從那以后,我意識到我想要這些提交,但是在任何地方都找不到原始的提交。 似乎所有原始提交都被刪除了。 即使對整個git repo進行完整的日志列表也不會顯示原始提交或還原提交。

從我對EGit文檔的理解來看,還原提交只是應該通過在舊版本的基礎上創建一個新的提交來“撤消”更改,而撤消所做的工作。 但是,它似乎實際上刪除了我的原始提交。

我是烤面包嗎? 我是否永久丟失了這些更改? 我正在使用EGit 2.1.0.20120919運行Eclipse 3.7。

如您所說, git revert不會刪除提交。 它只會創建一個新的提交,以撤消傳遞給它的某個提交的更改。 因此,原始提交仍在存儲庫中。 git log列出提交時,應顯示原始提交以及撤消原始提交所做的操作的提交。

這樣,要恢復提交的原始內容,您可以使用git reset --hard hash還原還原的提交或將存儲庫狀態更改為提交之前的提交狀態,其中hash表示表示您的commit之前的提交的hash git revert

最好的選擇是暫時離開eclipse和egit並使用命令行。

有一個名為git reflog的工具,可以比git log展示更多。 我建議您嘗試查看對存儲庫所做的工作。

暫無
暫無

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

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