2012-04-04 3 views
5

최근 커밋으로 리베이스 할 때 실수를했습니다. (나는 "git fetch --all"을 먼저하고 rebase를하는 것을 잊어 버렸습니다.) 그리고 나는 원격 브랜치를 커밋하고 푸시했습니다. 이제 나는 먼저 rebetch를 먼저 수행하여 충돌을 해결하고 원격 지점으로 푸시했습니다. 자, 최근의 모든 커밋이 두 번 나타나고있는 것 같습니다. 내가하고 싶은 것은 git rebase 인터랙티브 모드를 사용하고, 내가 원하는 모든 커밋을 선택한 다음 커밋 sha 코드로 적절히 리베이스 (rebase)하는 것이다. 이렇게하는 방법입니까? 그리고 내가 git rebase -i를 시작한다면 sha 코드는 원래의 분기점 sha 코드를 사용해야합니까? 또는 가장 최근의 sha 코드? 시간을 거슬러 커밋의 감사합니다,중복 커밋을 제거하기 위해 git rebase 대화식 모드를 실행하는 방법

데이비드

답변

1

중복 커밋을 성공적으로 제거했습니다. 여기에 내가 한 일이있다 : 하드 포인트 지점으로 재설정, 원점에서 당겨, git rebase -i SHACODE (원래의 분기점)를 시작하고 커밋을 선택한다. 현재의 SHACODE에 git rebase를 유지한다.

5

적어 보라의 자식이 수를 리베이스. 10의 역사를 다시 커밋 :

git rebase -i HEAD~10 

그런 다음 단순히 표시되는 텍스트 편집기에서 제거하려는 커밋에 대한 행을 삭제합니다. 파일을 저장하고 종료하면 rebase가 시작되고 제거 된 행은 rebase가 완료되면 더 이상 기록에 없습니다.

관련 문제