好吧,現在我正在嘗試使用以下技術,如果它能正常工作,則會報告回來,因爲它似乎很長時間: 在一個的zsh或bash在克隆庫
git log --diff-filter=D --summary <start_commit>..HEAD | egrep -o '*[[:alnum:]]*(/[[:alnum:].]*)+$' > deleted.txt
讓所有被刪除的文件
for del in `cat deleted.txt`
do
git filter-branch --index-filter "git rm --cached --ignore-unmatch $del" --prune-empty -- --all
# The following seems to be necessary every time
# because otherwise git won't overwrite refs/original
git reset --hard
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
git reflog expire --expire=now --all
git gc --aggressive --prune=now
done;
這可能都知道:dangeours爲您的數據只能對克隆嘗試。
另請參見[具有僅當前跟蹤文件的複製歷史記錄的新回購](http://stackoverflow.com/questions/17901588/new-repo-with-copied-history-of-only-currently-tracked-files) 。 – 2013-07-27 22:11:01