在过去30-40次提交中,我包含了一个文件夹,我才意识到我不应该这样做。
我主要担心的是,当我将这些更改推送到Github时,由于这些文件的大小,需要一段时间......
有没有办法从过去的提交中完全删除该文件夹(或某些文件)?
答案 0 :(得分:3)
您最有可能想要使用git filter-branch
。 Github有一个相当不错的教程如何使用它here。
以下行应该可以解决问题:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r <path>' --prune-empty -- --all
如果要删除文件夹,请确保使用-r <path>
。
答案 1 :(得分:1)
您可以通过执行交互式rebase在Git中编辑历史记录。在介绍文件夹git rebase -i <that commit id>
之前找出第一个提交。
答案 2 :(得分:1)
你可以使用git filter branch git filter-branch --index-filter 'git rm --cached --ignore-unmatch YOURFOLDER' --prune-empty -- --all
这个命令将运行所有提交删除你可以正常推送的你自己的提交,因为你还没推动它。我非常使用这个命令。