有一個與master
分支的git倉庫和幾個開發人員正在使用它(他們沒有訪問git-server,但可以推到master
分支)。我的問題是:無論如何不可逆「損害」(刪除文件...)的存儲庫?開發人員是否可以不可逆轉地破壞git repo?
例如,開發人員可以刪除過去的10個提交:
git reset --hard HEAD~10
git push -f
有沒有在這種情況下恢復數據的方法(假設沒有人有那些過去的10本地提交)?如果是這樣,還有其他方法如何對回購做出不可逆轉的改變?
您可以使用本地回購的reflog返回到原始提交(假設GC尚未運行)。雖然我認爲這是一個理論問題 - 但實際上,正確的方法是「防止將力量推向主分支」。 –
你可以限制誰可以推送給主人 –
@OliverCharlesworth我提到沒有人擁有刪除文件的本地回購。 –