如何解决如何用git中的最新修订覆盖文件的历史修订?
| 有点奇怪的问题,但这是我的情况:我不小心将带有大型嵌入式PNG的SVG图像添加到git中,提交并推送。昨天我注意到了这个问题,并通过删除嵌入式PNG进行了修复,因此该图像的大小从1500kb变为35kb。我的问题是我不再需要历史版本(占用1500kb的空间),但是我确实需要在这些旧版本中显示一个图像(更新的图像)。因此,我不想删除图像的历史记录,因为我希望旧的修订版仍然可以使用-我想要的是将新版本及时向后推到提交原始修订版时,如果我从未提交过较大的文件,那么过去只能提供较小的正确文件。这可能吗? 我也在使用github托管存储库,并且需要推送更新的整个历史记录-这容易做到吗?解决方法
如果尚未将存储库推送给其他任何人,则可以使用
git rebase -i
轻松完成此操作。将相关的提交标记为要编辑,然后根据需要替换图像文件。
有关更多详细信息,请参阅文档。
您可以在git push
中使用-f
选项,这将迫使您编辑的历史记录在Github上被覆盖。请注意,尽管如此,这对于拉存储库的其他人来说可能会有些混乱。
, 我认为您需要做一个非常麻烦的操作,包括挑选,重新设置基准以及通用git向导。
我真的不会担心。保持原状。这仅意味着每次克隆存储库后,您都将下载一些额外的千字节。否则,无论如何,您只是在推拉微小差异。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。