求助 V 友们,我刚刚学了 Git 不久,可能遇到了非常蠢的问题,大佬轻点喷:
由于不太了解原理,第一次
git commit
提交了一个大文件然后推送到了远程。然后在网上查资料,想在彻底删除这个大文件的基础上保留后面的所有 commit 。但是关于如下两个问题没有找到理想的解决方法。
查阅资料发现,想要删除中间的一个 commit,需要使用 git rebase -i <欲删除的 commit 对应的前一串 hash>
,然后从 pick 改成 drop 之类的 balabala 。那么问题来了,我想删掉最早一个 commit,那么这个 commit 的前面已经没有提交记录了......所以该怎么做呢?
接上个问题,因为没有找到合适的方法,干脆降低期望值,直接新建一个分支,扔掉了之前所有的 commit 和旧分支。然后问题来了,大文件占用的空间依然没有减少。于是查资料,按照网上各种千篇一律转载的方法,比如这个https://www.jianshu.com/p/c699e83026c4,然后卡在了 git verify-pack -v .git/objects/pack/pack-<hash>.idx | sort -k 3 -n | tail -10
这步,提示我找不到文件。我已经填写了文件资源管理器中找到的占用空间最大的那个 .idx 文件对应的 dat 文件的 hash 了。那么我该如何做呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.