我通過在生產服務器上運行git pull來將應用程序部署到生產服務器。在保持連接到分支的情況下恢復到舊的git簽出
作爲備份的一部分,我正在考慮只存儲當前提交散列而不是複製所有文件的想法。之後,在還原期間,我想將本地版本的存儲庫從遠程源恢復到已保存的提交哈希。理想情況下,它的行爲就像是我恢復了包含.git文件夾的整個樹。
要保存當前提交散列,我想到的git log -1 --format=%H
爲了恢復到某個特定的版本,我知道了git checkout hash
命令。不幸的是,這個命令從分支中分離了倉庫的工作副本。
是否有一個命令或一組命令將本地git存儲庫恢復到之前的狀態(也就是關於進一步更新的透明方式)?所以git pull
將工作副本更新到各自分支中最近的提交併更新頭指針等。
update-ref將如何影響原始副本和/或從原點拉動更多更新? vonbrad建議我願意實現後請檢查我的評論。 – alik
@alik我在我的回覆中引用了我想要解決的部分,這是我打算給你一個額外的工具來處理,嚴格地說,沒有別的。現在,您可以在備份倉庫中恢復特定的修訂版本,並將其複製爲分支。除此之外,當然,對遠程分支應該沒有影響,因爲是本地(跟蹤)分支。 –
mockinterface
謝謝。我需要更深入地檢查update-ref命令。首先通過手冊是不夠的。 – alik