簡體   English   中英

如何從git bare remote repository中刪除文件?

[英]How to delete files from git bare remote repository?

我有一個遠程裸git存儲庫。

一位新的開發人員克隆了它,但他沒有正確配置的.gitignore文件,所以他錯誤地將一些不需要的文件推入了遙控器。 當我提取並合並時,我得到了這些以前沒有跟蹤過的文件。 其他人也從遙控器中取出了這些更改,並且還有這些不需要的文件。

如何從遠程存儲庫以及其他所有遠程/原始/分支中刪除這些文件?

請參閱github有一個常見問題解答: https//help.github.com/articles/remove-sensitive-data以下是步驟:

  1. 從本地(工作)樹重寫樹。

    $ git filter-branch --index-filter'git rm --cached --ignore-unmatch Rakefile'\\ --proune-empty --tag-name-filter cat - --all

  2. 強制推送到遠程。

    $ git push origin master --force

  3. 每個人都從遠程拉出(如果需要,使用--force

要防止再次發生這種情況,您應該檢查存儲庫中的.gitignore (並可選擇在服務器上設置一個鈎子)

這是一個三步過程:

  1. 從您的存儲庫副本中刪除文件(使用git rm從歷史記錄中完全清除這些文件,具體取決於這些文件從未首先存放在存儲庫中的重要性)
  2. 使用git push --force將更改推送回遠程存儲庫。
  3. 讓每個人都知道他們可以重新拉出存儲庫 - 這需要在最后一次知道好的提交時使用git rebase

作為最后一步,您可能還需要將.gitignore文件添加到存儲庫,以便在克隆存儲庫時忽略所有正確的文件。

暫無
暫無

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

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