git push提交報錯,提示文件過大,且去掉大文件也報一樣的錯誤

錯誤緣由:

大文件存在沒有被提交的commit記錄裏面;python

解決方案:

刪除有大文件的commit記錄便可git

移除大文件的正確姿式

$ git rm --cached giant_file(文件名) 
# Stage our giant file for removal, but leave it on disk  
$ git commit --amend -CHEAD  
$ git push

解法一:

如下操做完後,至關於把本地代碼回滾到遠端的代碼一致;的遠端代碼文件過大時,此種方式比從遠端從新拉取方便快捷fetch

git fetch -f -p
git checkout dev
git reset origin/dev --hard
  • 第一句代碼git fetch -f -p的做用就是從本地拿到遠程最新分支,覆蓋本地存放的遠程分支
  • 第二句實際上由於主要開發分支就是 dev 分支,小夥伴就是把大文件合併到這個分支,因此須要切換到這個分支。若是你不當心把大文件提交其它的分支,記得切換的就是你提交的分支。

    若是提交大文件只是在本身的分支,而且放到了遠程分支,那麼合併到遠程開發分支,那麼只須要刪除本身遠程分支就行了,不須要繼續往下作。.net

  • 第三句git reset origin/dev --hard是把本身的本地 dev 分支覆蓋,使用遠程的分支,若是開發分支不是 dev ,那麼請用其它的分支。3d

解法二:

網友:https://blog.csdn.net/m0_37696127/article/details/78984216分享的,不過我試了後沒解決問題,可是也分享一下。code

  • 一、git status 查看未被傳送到遠程代碼庫的提交次數
  • 二、git cherry -v 查看未被傳送到遠程代碼庫的提交描述和說明
  • 三、git reset commit_id 撤銷未被傳送到遠程代碼庫的提交
    作到這裏就已經能夠從新添加提交了(注意必定要撤銷有大文件的提交)
相關文章
相關標籤/搜索