git 커밋에서 파일을 제거 할 수 없습니다.
푸시되지 않은 모든 git 커밋을 삭제 한 다음 git이 data / 디렉토리에서 아무것도 커밋하지 않도록하려면 어떻게해야합니까?
내 c9.io 프로젝트에서 github에 저장된 프로젝트의 모든 변경 사항을 강제로 덮어 쓰려고합니다. 실수로 git이 mongodb 데이터 파일을 추가했습니다. .gitignore에 data / 디렉토리를 추가하려고했습니다. 업데이트 된 .gitignore를 가져 오기 위해 github에서 가져 왔지만 git push를 시도 할 때 이러한 고집스러운 파일은 여전히 커밋을 위해 준비됩니다. 또한, 자식 깨끗한 자식 리셋 자식 REBASE 시도하고 ,이 I은 PI / 데이터 / 노드 login.1에 dmpfile.sql 변경된 곳.
몇 시간 동안이 일을했는데 정말 답답 해요
Counting objects: 15, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (13/13), 150.22 KiB | 92 KiB/s, done.
Total 13 (delta 6), reused 0 (delta 0)
remote: warning: File pi/data/local.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB
remote: warning: File pi/data/node-login.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB
remote: error: GH001: Large files detected.
remote: error: Trace: e6ade98208c08b634ed28aefea36dfbb
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File pi/data/node-login.1 is 128.00 MB; this exceeds GitHub's file size limit of 100 MB
To git@github.com:bobbyg603/goddard.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:bobbyg603/goddard.git'
.gitignore :
lib-cov
*.seed
*.log
*.csv
*.dat
*.out
*.pid
*.gz
data/
pids
logs
results
npm-debug.log
node_modules
.project
.settings
고마워, 바비
Chris 덕분에 다음을 실행하여이 문제를 해결할 수있었습니다.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/node-login.0'
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/node-login.1'
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/local.0'
git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch FOLDERNAME" -- --all
replace FOLDERNAME with the file or folder you wish to remove from the given git repository.
This worked for me:
git rm --cached name_of_a_giant_file
git rm --cached name_of_another_giant_file
git commit --amend -CHEAD
git push
Source: Github Help: Working with large files
I've used BFG Repo Cleanner simple and fast, works like a charm
git filter-branch --tree-filter 'rm -rf path/whaever' HEAD
This is a little bit simpler and it is a way to just remove and rewrite it from the history. That's the result
Rewrite 5ac3045254d33fc5bb2b9fb05dccbdbb986b1885 (61/62) (24 seconds passed, remaining 0 predicted)
Ref 'refs/heads/features_X' was rewritten
Now, I can push
참고URL : https://stackoverflow.com/questions/21168846/cant-remove-file-from-git-commit
'UFO ET IT' 카테고리의 다른 글
비교기를 사용한 정렬-내림차순 (사용자 정의 클래스) (0) | 2020.11.12 |
---|---|
Ruby에서 해시 값을 기준으로 내림차순 정렬 (0) | 2020.11.12 |
다른 JVM Lisps보다 Clojure가 필요한 이유 : Kawa, Armed Bear 또는 SISC? (0) | 2020.11.12 |
T4 템플릿에서 Linq를 어떻게 사용할 수 있습니까? (0) | 2020.11.11 |
IIS의 응용 프로그램 풀이 재활용되는 원인은 무엇입니까? (0) | 2020.11.11 |