正如Adrian所說,除非你在Git中有大量的二進制文件(例如圖片上傳等),否則這不是一個真正的問題。就我個人而言,我不會破壞我的歷史,因爲它對於調試是非常寶貴的,儘管我對我所承諾的事情以及經常進行紀律處分。
如果您想刪除您的回購之前已添加的文件,但要保持一個本地副本做:
的git RM --cached /路徑/到/刪除
這將刪除他們從索引的當前狀態,但保留實際的文件,然後您可以添加到您的.gitignore。這對只是錯誤地添加到git的文件,或者對於不需要回購大小或安全性的小文件都很方便。
但是,如果您之前提交過這些文件,它們仍然會存在於您的歷史記錄中,因此您的總回購大小可能會被誇大(例如,如果您以前添加了PSD或某些大圖像。完全從歷史記錄中刪除一個文件(也很方便,如果在某種程度上敏感數據躡手躡腳),你可以這樣做:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch <NAME OF FILE>' --prune-empty --tag-name-filter cat -- --all
此命令將運行分支或標籤的整個歷史,改變任何承諾所涉及您指定的文件,以及之後的任何提交。之後提交的提交(因爲它們只改變了Rakefile)被完全刪除。警告:它會覆蓋現有標記a脹。
一旦你已經刪除了文件,你可能需要強制與推你的變化:
git push <remote> <branch> --force
但是你想成爲非常肯定你在這一點上做正確的事來,因爲你也會覆蓋遙控器上的歷史記錄,並且在那時它確實會消失。如果沿着這條路線走下去,有一個很好的,更詳細的教程here。
雖然您正在使用Beanstalk,但這不是一個主要問題,因爲它只會部署最新版本的文件,而不是您的整個回購/歷史記錄。
這個問題不是真的與ExpressionEngine相關,並且最好位於stackoverflow或git特定的stackexchange站點中。 – CreateSean
我曾考慮過這個問題,但後來覺得它與EE在我的回購和正常程序中的映像文件/緩存文件有關。下面的答案非常有幫助,也許別人會發現價值?如果沒有,請隨時移動(讓我知道它去了哪裏!) –