目前我有
空的GitHub回购
SSH服务器恢复(main)
当地的回购
SSH服务器回购是最新的回购(生产站点),所以我从那里克隆了一个Git到本地。然后我尝试做一个git推送到GitHub。
一切都很好,但随后它说一些关于文件名。gz对GitHub太大。我不需要这个文件,所以我运行了几个Git命令从Git缓存中删除它,然后推回到SSH服务器。
我没有看到本地的大文件,但它仍然在SSH服务器上,即使git diff返回什么,git推送返回“一切都是最新的”-即使文件在本地回购中不可见,当我尝试推送到GitHub时,我仍然会得到错误
文件fpss.tar.gz是135.17 MB;这超过了GitHub的文件大小限制100mb
我遵循了“修复问题”列在GitHub帮助下的步骤,所以这不应该已经足够了吗?
当它不在本地或在git status/diff/push中列出时,文件如何仍然在以太中?
我认为这是因为您删除的文件可能已经存在于您的提交,以检查这个第一次使用
git log
这将返回你在当前分支中提交的列表,找到你要找的提交的id,
然后使用,
git show <commit_id>
这应该显示包含文件的提交细节
现在要解决你的问题,使用
git reset --soft HEAD~1
这里HEAD~1上的1代表之前的提交,你可以根据你需要的提交使用不同的数字。
如果你需要第二次最后提交,请使用git reset -soft HEAD~2
这将重置你的Head到以前的提交,如果这个提交没有大文件,那么你可以这样做,
git add .
git commit -m <message_for_commit>
git push origin <repo_name>
else
如果你想重置到一个不包含你的文件的特定提交,只需使用
git reset --soft <commit_id>
然后从这里创建一个新的提交,删除文件并推送它