ALL,
<select>
问题是dbhandler / ipch是.gitignore的一部分,但“git push”仍然试图将它们推送到遥控器。
或者我误解了什么,我还需要做点什么?
谢谢。
[编辑]
该命令失败:
Igors-MacBook-Air:dbhandler igorkorot$ cat .gitignore | grep ipch
dbhandler/ipch/
Igors-MacBook-Air:dbhandler igorkorot$ git rm -r dbhandler/ipch
rm 'dbhandler/ipch/dbinterface-19274bfe/dbinterface-5ede7563.ipch'
rm 'dbhandler/ipch/dbloader-ce428aa/dbloader-61894527.ipch'
rm 'dbhandler/ipch/dll_vc9_my_dll-b99cc480/dialogs-c6b7929.ipch'
rm 'dbhandler/ipch/docview_vc9-e1a2d063/docview-4c99da7.ipch'
rm 'dbhandler/ipch/sqlite-386a740f/sqlite-1af4ae5c.ipch'
Igors-MacBook-Air:dbhandler igorkorot$ git commit -m "Remove MSVC build files"
[master 69327de] Remove MSVC build files
5 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 dbhandler/ipch/dbinterface-19274bfe/dbinterface-5ede7563.ipch
delete mode 100644 dbhandler/ipch/dbloader-ce428aa/dbloader-61894527.ipch
delete mode 100644 dbhandler/ipch/dll_vc9_my_dll-b99cc480/dialogs-c6b7929.ipch
delete mode 100644 dbhandler/ipch/docview_vc9-e1a2d063/docview-4c99da7.ipch
delete mode 100644 dbhandler/ipch/sqlite-386a740f/sqlite-1af4ae5c.ipch
Igors-MacBook-Air:dbhandler igorkorot$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 401, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (323/323), done.
Writing objects: 100% (386/386), 98.53 MiB | 726.00 KiB/s, done.
Total 386 (delta 148), reused 45 (delta 13)
remote: warning: File dbhandler/docview_vc9.sdf is 58.89 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File dbhandler/ipch/sqlite-386a740f/sqlite-1af4ae5c.ipch is 55.25 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File dbhandler/ipch/dbinterface-19274bfe/dbinterface-5ede7563.ipch is 53.94 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: c4b823789a274ab658515b65b7b259a6
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File dbhandler/ipch/dll_vc9_my_dll-b99cc480/dialogs-c6b7929.ipch is 153.44 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/oneeyeman1/dbhandler.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/oneeyeman1/dbhandler.git'
[/编辑]
答案 0 :(得分:0)
您之前的提交中已有大文件。由于git的工作方式,所有文件的所有版本都必须存储在存储库中。您最好的选择是使用git fiter-branch
删除历史记录中的文件:
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch dbhandler/ipch'
这将在当前分支上进行所有提交并编辑它们,运行
$ git rm --cached dbhandler/ipch
$ git commit --amend
每个。然后运行
$ git push -f
历史已被重写。请注意,这将干扰处理这些提交的其他人作为新提交,尽管具有相同的描述,与旧提交无关(类似于git rebase
)。
或者,只能从某些提交中删除所选文件:
$ git filter-branch ... 0123abcd..HEAD
仅在从0123abcd到HEAD的提交中运行。如果尚未推送0123abcd,则简单的git push
将成功。