簡體   English   中英

將存儲庫恢復為特定提交,而不會丟失其間所做的更改

[英]Revert repositiory to specific commit without loosing changes made in the meantime

我需要特定提交/日期的存儲庫狀態。 我不想退回,因為我不想放棄更改。

如何在特定提交時獲取存儲庫?

我進行了研究,也許以下方法會起作用:

git log
git clone /path/to/repository
git checkout dec5f4de67ff32fd ...

在克隆的存儲庫和原始存儲庫之間是否有一些副作用? 我的克隆存儲庫中是否有所有可用的提交? 如何刪除克隆的存儲庫? 只是刪除文件夾? 我不需要新的分支-我只需要在特定提交時執行項目。

編輯:

現在我嘗試了git checkout xxx 有效。 然后,我想回到git checkout master最新更改。 我收到以下錯誤

錯誤:以下未跟蹤的工作樹文件將被簽出覆蓋:
項目/資源/image.png
請移動或刪除它們
在切換分支之前。 墮胎

原因是我簽出了錯誤的分支(不是主分支)。 現在,我刪除了所有文件,並從備份中使用了其中一個文件。 如果我現在輸入git log他只會顯示我的初始提交...因此,我使用控制台從文件夾中移出並返回,現在他顯示了最新的提交。

因此,請注意您結帳的內容。

您想要提交之前的存儲庫副本嗎? 克隆將包含原始副本中的所有提交。 如果要擺脫克隆中的最新提交,則必須使用:

git clone /path/to/repository
git reset --hard dec5f4de67ff32fd ...

如果僅簽出提交,則較新的提交仍在存儲庫中,只有工作空間將更改為先前的提交。

更多詳細信息: https : //stackoverflow.com/a/4114122/4809302

暫無
暫無

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

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