2013-06-08 1 views
-1

질문이 있습니다. 큰 파일을 git로 푸시하는 실수를했습니다. 그런데 git rm이이 큰 파일을 포함하고 있습니다. git pull 또는 git clone하고 싶다면 크고 쓸모없는 파일을 다운로드해야합니다. 이 문제를 해결하는 방법? 대단히 감사합니다. 정말 실행 취소에큰 파일을 git로 푸시하는 실수를 범했습니다.

+0

은 'git rm'을 사용했다면'git commit -m "은 쓸모없는 파일을 제거하고''git push'를 실행 했습니까? – user1135469

+0

@ user1135469 : 나머지는 안심입니다.'git rm'은 큰 바이너리 파일을 자식 저장소에서 절대로 지우지 않을 것입니다. – mvp

답변

2

당신은 힘 푸시 권한이 있어야합니다 마지막 커밋 :

git reset --hard HEAD~ 

을 그리고이 서버에 밀어 :

이 마지막 커밋 죽이기에

git push origin master --force 
+0

! [원격 거부] XXX (빨리 감기가 아닌) – TerryZJ

+0

내가 말했듯이, ** 반드시 ** 강제로 밀어 넣기 권한이 있어야 실제로 할 수 있습니다. 서버 관리자에게 허용하도록 요청하십시오. 그렇지 않으면 큰 파일은 git 객체 저장소에 영원히 보관됩니다 (이 브랜치를 되감기 않는 한). – mvp

+0

좋은 답변과 의견 followup mvp. – cforbish

0

귀하의 경우, 커밋 내역을 다시 작성하여 문제가되는 커밋을 모두 제거하거나 다시 커밋을 이동하여 강제로 밀어 넣을 수 있습니다 ocal 브랜치를 사용하여 원격 브랜치의 히스토리를 모두 오버라이드한다.

다른 사람이 아무 것도 저지르지 않으면 로컬 변경을 강제로 수행하는 것이 가장 쉬운 방법 일 수 있습니다. 과정을 수행하는 방법에 여기 확인 :

https://superuser.com/questions/35267/how-can-i-roll-back-1-commit

이 솔루션을 선호하는 경우가 망할 놈의 핸드북 역사를 커밋 재 작성하는 방법에 대한 광범위한 지침이있다 : 일단 당신

http://git-scm.com/book/ch6-4.html

관련 문제