불행히도 우리는 실수로 큰 바이너리 파일을 체크인했습니다. 이제 저 커밋을 버리고 남은 역사를 그대로 갖고 싶습니다. 나는 밀린 역사를 바꾸는 것에 대한 경고를 알고 있지만이 경우 나는 그것을 피할 수 없다.오래된 커밋을 버리십시오 :`git rebase`가 병합 충돌을 일으킴
나는 그것을 ~ 1h 달성하려고 노력했지만 그것을 얻지 못했습니다. 내가 찾은 최고의 명령은
git rebase --interactive --preserve-merges $(EVIL_COMMIT)^
악한 하나입니다 커밋 1을 주석 편집기입니다.
불행하게도 git rebase
은 병합이 중지되고 병합 충돌을 수동으로 해결하라는 메시지를 표시합니다. 사악한 커밋은 우리의 소프트웨어가 테스트 목적으로 계산할 예제 파일을 추가합니다. 따라서 예제 파일과 충돌하지 않아야합니다.
- 어디에서 병합 충돌이 발생했는지 이해할 수 없습니다. 누군가 설명 할 수 있니?
- 어떻게 해결할 수 있습니까?
나는 Google과 SO 검색에 많은 시간을 보냈습니다. 일부 스레드는 유사한 주제를 다루지 만 오늘날의 Git 버전에서는 syntax used is not available이 더 이상 필요하지 않습니다. 또는 나에게 도움이되지 못했습니다 (가장 쉬운 방법이기 때문에 위의 한 가지 방법 만 설명했습니다).
가능한 중복 Git 저장소의 내역?] (http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from-commit-history-in-git-repository) –