如何删除Git提交数据?因超大dmg文件致提交及Atom异常
我来帮你一步步搞定这两个麻烦,先处理Git里的大文件残留问题,再解决Atom崩溃的情况:
一、彻底清除Git中的大文件痕迹
你删除文件后Git还能识别,是因为这个大文件已经被记录到Git的暂存区或者历史提交里了,得彻底清理这些记录:
清理暂存区的文件记录
如果文件还没提交,先执行这个命令把它从暂存区移除(不会删除本地文件,已经删了的话也没关系):git rm --cached path/to/your/songs.dmg记得把
path/to/your/songs.dmg替换成你实际的文件路径。如果已经提交过这个大文件,需要修改历史记录
要是你之前已经把这个文件推送到过仓库,或者提交到本地历史里了,就得用下面的命令彻底从所有历史中删除它:git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch path/to/your/songs.dmg' --prune-empty --tag-name-filter cat -- --all执行完这个命令后,你的本地Git历史就没有这个大文件了。接下来强制推送到远程仓库(注意:这个操作会改写远程历史,如果你和其他人协作,要提前跟他们说一声):
git push origin --force --all # 如果有标签的话,也要同步标签 git push origin --force --tags清理本地Git缓存,释放空间
最后执行这两个命令,彻底清理本地的Git缓存,确保大文件的痕迹被完全删除:git reflog expire --expire=now --all git gc --prune=now --aggressive
二、解决Atom打开项目崩溃的问题
复制项目副本后Atom崩溃,大概率是副本里的Git缓存还残留着大文件的信息,或者Atom自身的缓存出了问题,试试下面的方法:
先确保副本的Git记录已经清理干净
如果你是在处理Git之前复制的副本,那副本里的.git文件夹还是有大文件的历史记录,先对副本执行上面的Git清理步骤,把大文件痕迹彻底删掉。重置Atom的缓存
关闭Atom,找到Atom的缓存目录:- Mac:
~/Library/Application Support/Atom - Windows:
%APPDATA%\Atom - Linux:
~/.atom
删除目录里的compile-cache、storage这两个文件夹,然后重新打开Atom试试。
- Mac:
用安全模式启动Atom排查插件问题
如果重置缓存后还是崩溃,试试用安全模式启动Atom(安全模式会禁用所有插件):atom --safe如果安全模式能正常打开,说明是某个插件导致的崩溃,你可以逐个禁用最近安装的插件,找到问题插件后卸载或者更新它。
内容的提问来源于stack exchange,提问作者Maya

