[英]How to delete files from git bare remote repository?
我有一個遠程裸git存儲庫。
一位新的開發人員克隆了它,但他沒有正確配置的.gitignore文件,所以他錯誤地將一些不需要的文件推入了遙控器。 當我提取並合並時,我得到了這些以前沒有跟蹤過的文件。 其他人也從遙控器中取出了這些更改,並且還有這些不需要的文件。
如何從遠程存儲庫以及其他所有遠程/原始/分支中刪除這些文件?
請參閱github有一個常見問題解答: https : //help.github.com/articles/remove-sensitive-data以下是步驟:
從本地(工作)樹重寫樹。
$ git filter-branch --index-filter'git rm --cached --ignore-unmatch Rakefile'\\ --proune-empty --tag-name-filter cat - --all
強制推送到遠程。
$ git push origin master --force
每個人都從遠程拉出(如果需要,使用--force
)
要防止再次發生這種情況,您應該檢查存儲庫中的.gitignore
(並可選擇在服務器上設置一個鈎子)
這是一個三步過程:
git rm
或從歷史記錄中完全清除這些文件,具體取決於這些文件從未首先存放在存儲庫中的重要性) git push --force
將更改推送回遠程存儲庫。 git rebase
。 作為最后一步,您可能還需要將.gitignore
文件添加到存儲庫,以便在克隆存儲庫時忽略所有正確的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.