簡體   English   中英

使用BFG重寫git歷史記錄后是否需要垃圾回收

[英]Do I need Garbage Collection after using BFG to rewrite git history

我們將一些密碼提交到了我們的bitbucket存儲庫中,這違反了我們的組織安全政策,因此我使用BFG Repo Cleaner將所有密碼替換為Removed一詞,方法是在本地創建一個鏡像,然后

 bfg --replace-text passwords.txt  my-repo.git

它會按照其網站上的說明進行操作,密碼會被刪除!

驚奇的是

  • 替換文件中的密碼
  • 刪除舊的提交
  • 然后進行一些新的提交,而不是根據舊的提交重寫歷史記錄...。

所以問題是仍然可以從指向舊提交的舊bitbucket網址查看密碼

我的問題是如何從bitbucket或git歷史記錄中刪除已刪除的提交? 這又反過來會阻止URL指向顯示我們打算刪除密碼的已刪除/舊提交?

解決方案是執行“ git push --force ”,這將觸發位桶的自動gc

但是gc可能會失敗,bitbucket正在進行改進,如果發生這種情況,您必須以管理員身份在倉庫上手動運行命令

git reflog expire --expire="1 hour" --all
git reflog expire --expire-unreachable="1 hour" --all
git prune --expire="1 hour" -v
git gc --aggressive --prune="1 hour"

注意:強制推送使遠程與本地分支或主分支完全相同,從而確保在更改本地工作樹期間沒有其他開發人員在使用該遠程分支。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM