2017-07-30 130 views
2

在GitHub上,我分配了一個存儲庫並克隆在我的電腦上。然後,爲了測試目的,我編輯了一個文件,進行了提交併將其推送到GitHub。但是現在我想完全刪除這個提交。如何從GitHub完全刪除提交?

我做了以下內容:

git reset --hard <sha1_of_previous_commit> 
git push --force 

它看起來不錯,但我提交仍然可以訪問GitHub上的URL與我犯SHA1。所以我刪除了GitHub上的存儲庫,然後這個URL就是說沒有找到。

但是,如果我再次分派相同的存儲庫,我的提交可以通過此URL再次訪問。請幫助我,我該如何擺脫這種承諾?

+0

出於安全考慮,如果此文件包含密碼等任何明智信息,我建議您立即更改它們。 – HeroicKatora

+0

[刪除敏感文件及其從Git歷史提交](https://stackoverflow.com/questions/872565/remove-sensitive-files-and-their-commits-from-git-history) – phd

+0

不,它不包含任何敏感信息,但我仍想刪除它。 – noone

回答

1

提交可能總是可以通過URL訪問。但它沒有在Github上顯示,所以我不明白這是一個問題,除非它包含敏感信息。

後續提交將具有獨特的哈希值。

1

的「Removing sensitive data from a repository」上說得十分明白:

需要注意的是這些提交可能仍然是任何克隆或你的資料庫叉訪問,直接通過在緩存視圖的SHA-1哈希值是非常重要的在GitHub上,並通過任何引用它們的請求。
您無法對存儲庫的現有克隆或分支做任何事情,但可以通過聯繫GitHub支持來永久移除所有存儲庫的緩存視圖並在GitHub上提出請求。

在你的情況,有(希望)無叉/克隆,但是你必須聯繫GitHub的支持,在他們的版本回購的要求GC,爲了使承諾是不再可用通過它的SHA1 URL。

0

這工作對我來說:

我都頭重的要數由2

git reset --hard HEAD~2 

提交回力把我支到遠程通過

git push -f origin my_branch_name 

我無法看到遠程回購提交的任何痕跡。