当我执行以下操作时:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
我收到以下错误:
git add *
git commit -m "msg"
git push origin develop
然后我从硬盘上删除了文件'tags',但每次尝试推送时,都会出现同样的错误。该文件从未被推送到我的存储库,因此我只需要将其从当前提交中删除。我尝试过很多东西,但每次都会遇到同样的错误。有什么帮助吗?
当我这样做时
Counting objects: 25, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (25/25), 46.43 MiB | 2.49 MiB/s, done.
Total 25 (delta 13), reused 0 (delta 0)
remote: Resolving deltas: 100% (13/13), completed with 11 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: ffe0c9f32d9cde4cedfc1f4713eb82b9
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File tags is 282.99 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://mygithubrepo
! [remote rejected] develop -> develop (pre-receive hook declined)
error: failed to push some refs to 'https://mygithubrepo'
文件'tags'甚至没有显示在列表中。但它还是试图推动它吗?
答案 0 :(得分:5)
所以,首先:
.gitignore
然后编辑添加大文件名的git add .
文件。
最后将这些更改添加到舞台
git commit --fixup <old-commit-hash>
此时如果你创建了一个新的提交,你就无法推送,因为无论如何文件都在你的git文件夹中,所以你需要创建一个fixup commit来修改提交的地方你添加了大文件:
git rebase <old-commit-hash>^ -i --autosquash
一旦你准备好了,你就需要改变,有3种情况:
1 - 你在主人身上承诺一切:
git rebase master -i --autosquash
2 - 你在一个分支中,你的大文件提交在同一个分支中:
git rebase <old-commit-hash>^ -i --autosquash --preserve-merges
3 - 你在一个分支中,你的大文件提交在一个已经合并的分支中:
{{1}}
答案 1 :(得分:4)
这应该有效:
git rm --cached <big_file>
git commit --amend .
这将从跟踪中删除文件,然后修改先前的提交以不包含此文件。