有没有一种简单的方法可以从Github历史记录中删除不需要的文件?
我花了半个小时阅读问题和答案,但仍然没有找到一个简单的方法。那么,有没有一种简单的方法可以从Github历史记录中删除不需要的文件(只是命名并删除它)?不是直接从Github中删除 您仍然需要在本地克隆它,清理它(例如),然后将其推回。有没有一种简单的方法可以从Github历史记录中删除不需要的文件?,github,git-rewrite-history,Github,Git Rewrite History,我花了半个小时阅读问题和答案,但仍然没有找到一个简单的方法。那么,有没有一种简单的方法可以从Github历史记录中删除不需要的文件(只是命名并删除它)?不是直接从Github中删除 您仍然需要在本地克隆它,清理它(例如),然后将其推回。 推送将是一个force-one-git推送--force,这意味着您需要通知其他用户该repo,以便他们重置自己的克隆 例如(使用bfg:): 不是直接从GitHub 您仍然需要在本地克隆它,清理它(例如),然后将其推回。 推送将是一个force-one-git
推送将是一个force-one-git推送--force,这意味着您需要通知其他用户该repo,以便他们重置自己的克隆 例如(使用bfg:):
不是直接从GitHub 您仍然需要在本地克隆它,清理它(例如),然后将其推回。
推送将是一个force-one-git推送--force,这意味着您需要通知其他用户该repo,以便他们重置自己的克隆 例如(使用bfg:):
正如@VonC所说,GitHub不提供通过用户界面从历史记录中删除文件的功能。作为一个局外人,这将是我对为什么会这样的看法:
- 一旦数据上传到GitHub上,从某种意义上说已经太晚了。如果数据是私有的,那么将其放在GitHub上已经损害了隐私。如果数据真的很大,GitHub已经安装了过滤器来阻止任何大于100MB的文件被推高
- 重写历史(尤其是删除数据)显然是非常具有破坏性和破坏性的——这类事情你不一定想让它变得容易。如果他们真的包含了它,他们就必须用难看的确认对话框来围绕它
- 在我创建BFG之前,从git历史记录中删除文件的主要工具是
,这在大型回购中非常缓慢——GitHub必须将这些清理工作放到一个长时间运行的队列中,然后告诉您稍后再来。在大型回购的情况下,这是一种风险git filter branch
完全披露:我是BFG Repo Cleaner的作者。正如@VonC所说,GitHub不提供通过用户界面从历史记录中删除文件的功能。作为一个局外人,这将是我对为什么会这样的看法:
- 一旦数据上传到GitHub上,从某种意义上说已经太晚了。如果数据是私有的,那么将其放在GitHub上已经损害了隐私。如果数据真的很大,GitHub已经安装了过滤器来阻止任何大于100MB的文件被推高
- 重写历史(尤其是删除数据)显然是非常具有破坏性和破坏性的——这类事情你不一定想让它变得容易。如果他们真的包含了它,他们就必须用难看的确认对话框来围绕它
- 在我创建BFG之前,从git历史记录中删除文件的主要工具是
,这在大型回购中非常缓慢——GitHub必须将这些清理工作放到一个长时间运行的队列中,然后告诉您稍后再来。在大型回购的情况下,这是一种风险git filter branch
全面披露:我是BFG回购清理程序的作者。我没有投反对票,但我猜投反对票是因为这个问题可能会被解释为重复:-从历史中删除文件是一个令人困惑的领域,即使是有经验的Git用户,人们也会以各种不同的方式询问它。我甚至被Stackoverflow版主要求停止回答他们,因为我的很多回答都提到了我自己的项目,BFG:|如果你觉得我的回答有帮助,请告诉我!多谢各位,我是一名git初学者,我真的只是想知道是否可以不经过太多程序就完成这项工作。我没有投反对票,但我猜投反对票是因为这个问题可能会被解释为重复:-即使对于有经验的git用户来说,从历史中删除文件也是一个令人困惑的领域,人们用很多不同的方式来询问。我甚至被Stackoverflow版主要求停止回答他们,因为我的很多回答都提到了我自己的项目,BFG:|如果你觉得我的回答有帮助,请告诉我!非常感谢,伙计,我是一个git初学者,我真的只是想知道不需要太多的程序就可以做到这一点。
bfg --delete-files id_{dsa,rsa} my-repo.git
bfg --delete-files myBad.mp3