[英]is it possible to use “git reset hard” after losing access to repository?
我正在使用gitlab。 在項目的中間,我向項目(repo)添加了另一個成員。 但是現在,我不希望他訪問我的源代碼。
我想刪除src
目錄並推送更改,然后請他拉出然后從存儲庫中刪除。
在失去對倉庫的訪問權限之后,他是否可以使用git reset --hard
或其他方法撤消更改?
用戶可以訪問他在計算機上已經擁有的提交。 這是分散版本控制系統思想的一部分。
如果刪除代碼,這將導致代表“刪除”的提交。 在刪除之前,他可以輕松地重置為提交。 即使您操縱歷史記錄並且由他拉出這些更改,本地存儲庫仍然具有可用的更改。 如果他知道以前的提交ID,則可以使用它來恢復代碼。
除非git運行其垃圾回收,否則更改將消失。 默認情況下,此操作每兩周運行一次。 只有這樣,他才可能松手。
不要讓他拉,而要讓他刪除他的本地存儲庫。 這將為您帶來更多的確定性。
我不確定我是否了解您切斷他的訪問權限的計划,但是如果您從gitlab項目中刪除某人,他們將再也無法從遠程(gitlab)訪問任何內容,但不會阻止他們使用提取的文件和本地文件夾中的git歷史記錄。
假設如果您用提交強制推送直到現在覆蓋git歷史,而他又將其拉出,那么我認為他不能從中恢復,因為他丟失了所有git歷史。
是的,他在計算機上擁有存儲庫的local copy
,因此他可以在其local branch
上執行所有操作,但不能將這些changes
發送到remote repository
。
因此,您需要請他從其計算機上delete
存儲庫。
如果您不希望他有權訪問遠程倉庫(gitlab)中的存儲庫,則可以將他從具有遠程訪問權限的人員列表中刪除(您可以通過以下方式進行操作:管理區域<項目<管理訪問權限<用戶),那么他將無法再訪問您的遠程控制器,盡管他可以使用本地副本執行他想做的任何事情,除了推,拉,取回...希望我能很好地理解您的問題對您有所幫助。
是的,他可以回顧整個歷史。 他仍然可以在舊提交中找到src
。
如果您希望他只能訪問最新版本,則可以
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.