所以,你現在知道你需要在你的git repo中做一些清理工作,可能使用rebase或者其他的東西,如果你做錯了,可能會讓它變得非常混亂。Git中是否有沙盒功能,讓您可以保存整個回購狀態以安全地玩遊戲?
有沒有辦法告訴Git 「保存整個本地git倉庫的這種狀態,這樣我就可以將所有事情回滾到這一點,以防出現問題?」 類似於「沙箱模式」,它可以讓您安全地玩轉回購,執行潛在的災難性操作,而不會有任何混亂的風險。
我不是在爲歷史中的某個特定點添加標籤或其他內容,而是關於在某些特定狀態下及時重置所有分支上所做的所有更改的操作。回滾的一切潛力(所有的git歷史/狀態)。類似於OSX Time Machine的東西。
此外,在Git中製作不容易逆轉的東西非常困難。只有很少的命令可以像'git clean -fdx'或'git checkout一樣被撤銷。'你可能會放棄未經版本控制的改變。所有已經提交或隱藏的東西都是相對節省的,除非你做了一些沒有提交的東西,並且它們是垃圾回收的,但是因爲reflog在默認情況下是30天,所以你真的不得不在那段時間內放棄那些提交有一些不可思議的東西。 – Vampire
如果您希望保留副本中所做的更改,而不必在原始回購中對其進行重做,您會做什麼?你會刪除原始的回購,並使用副本?這會帶來失去一些參考/鏈接到遠程回購的風險,還是git遠程和所有這樣的參考也複製到回購副本? – Magne
Git遙控器也被複制。您可以切換並繼續進行復制,也可以將其從遠程副本推送到遠程,然後恢復到原始數據倉庫並從遠程執行更改。 –