2013-04-12 3 views
1

우연히 뒤 공백이 포함 된 패치를 내 저장소에 적용했습니다. 내가 "git rebase master"를 할 때, git은 뒤 공백에 대해 불평한다. 후행 공백을 제거하기 위해 패치를 수정하려면 어떻게해야합니까?git에서 커밋 된 패치 수정

$ git reset --hard <commit-id> 
< edit files> 
$ git commit --amend 

이 작업을 수행 할 수있는 더 나은 방법이 있나요 :

나는 다음 패치를 다시 적용 후행 공백을 수정, 수정해야 패치 분기의 상단을 다시 생각?

분기를 이전 상태로 되돌려 놓고 후속 패치가 적용되는 방법은 무엇입니까?

답변

1

커밋을 게시 (푸시)하지 않은 한 해당 커밋을 수정할 때 아무런 문제가 없습니다.

이 작업을 수행하는 주요 명령은 git rebase -i입니다.이 명령은 적절한 업스트림 구성에서 가장 잘 작동합니다.

아직 모든 업스트림으로 푸시되지 않은 모든 로컬 커밋을 표시합니다. 그런 다음 순서를 바꾸거나 여러 커밋을 단일 커밋으로 스쿼시하거나 커밋 메시지를 변경하거나 커밋 내용을 완전히 변경할 수 있습니다.

마지막 것으로 보입니다. ;)

이 경우 git이 커밋으로 리셋하여 수정하고 다음을 수행하면 나머지 커밋을 재생합니다. git rebase --continue

또 다른 방법은 새로운 커밋 수정 작업을 추가하고 나중에 git rebase -i을 사용하여이 커밋과 잘못된 작업을 결합하는 것입니다.

관련 문제