我花了半个小时阅读问题和答案,但我还没有找到一个简单的方法来做到这一点。那么,有没有一种简单的方法可以从Github历史中删除不需要的文件(只是为了命名文件并将其删除)?
答案 0 :(得分:2)
正如@VonC所说,GitHub无法通过用户界面从历史记录中删除文件。作为一个局外人,这将是我对为什么会这样做的看法:
git filter-branch
,在大回购中非常慢 - GitHub将不得不查看这些清理工作到一个长期运行的队列,并告诉你以后回来。在大型回购的情况下,它是could have taken days to complete the job。鉴于这一点,GitHub不会自己支持它是非常合理的。你应该从命令行自己做 - 但不是那么难,我把BFG写到make this process simple:
bfg --delete-files myBad.mp3
...现在GitHub,Atlassian以及git filter-branch本身的文档推荐了BFG。
顺便提一下,Git是底层的源代码控制软件,GitHub是一家提供托管-Git的公司(所以你正在重写Git历史,而不是 GitHub 历史)。
完全披露:我是BFG Repo-Cleaner的作者。
答案 1 :(得分:1)
不是直接来自GitHub。
你仍然需要在本地克隆它,清理它(例如with BFG,faster than the git filter-branch
),并将其推回。
推送将是一个强制推送--force,这意味着您需要通知其他用户该回购,以便他们重置自己的克隆。
例如(使用bfg:" Cleaning Up Git Repositories With The BFG Repo-Cleaner"):
bfg --delete-files id_{dsa,rsa} my-repo.git