2017-11-11 7 views
1

안녕하세요, 나는 다른 분기의 병합 된 커밋을 포함하는 안정적인 분기 있습니다.스쿼시 GIT에서 병합 후 분기의 커밋

은 역사 커밋 : 구조는 다음과 같다

Commit 1 - Branch 1 commit 1 ------------- Hash Code 1 
Commit 2 - Branch 2 commit 1 ------------- Hash Code 2 
Commit 3 - Branch 2 commit 2 ------------- Hash Code 3 
Commit 4 - Branch 2 commit 3 ------------- Hash Code 4 
Commit 5 - Branch 3 commit 1 ------------- Hash Code 5 

지점 1,2,3 삭제를하고있다 안정적으로 병합합니다.

Commit 1 - Branch 1 commit 1 ------------- Hash Code 1 
Commit 2 - Branch 2 commit 1 ------------- Hash Code 2 
Commit 5 - Branch 3 commit 1 ------------- Hash Code 5 

나는 자식이 -i 리베이스 수행이 리베이스에서, 무 조작 scrren을 제공합니다 : 커밋 역사 속에서 내가 원하는 결과를 3 커밋 스쿼시, 4

커밋 할 수있는 방법이 있습니까. enter image description here

+1

을 할 수 않습니다 (HTTPS : //git-scm.com/book/ko/v2/Git-Tools-Rewriting-History). – crowchirp

+0

그것은 나에게 noop를 준다. 나는 스크린 샷도 붙였다. – Akshay

+1

리베이스 할 내용을 정확하게 지정해야 할 수도 있습니다. 'git rebase --help'로 알아 내십시오. – Mort

답변

2

git rebase -i를 사용하여 대화식 리베이스를 수행 할 수 있습니다.

git rebase -i HEAD~4 

변경 변경 저장이

pick commit 1 
s  commit 2 
s  commit 3 
pick commit 1 

pick commit 1 
pick commit 2 
pick commit 3 
pick commit 1 

와 당신은 자식이 [상호 작용 REBASE를 수행하기 -i`을 리베이스`git push -f

+0

고맙습니다. 올바르게 처리되었습니다. 당신은 내 하루를 절약했습니다 – Akshay

+0

또한,이 지점이 보호되어 있고 불필요한 커밋이 풀 요청에서 온다고 가정 해보십시오. 그리고 분기가 삭제되고 병합됩니다. 불필요한 커밋이 없어지는 풀 요청을 수정할 수있는 방법이 있습니까? – Akshay

+0

PR은 항상'source'에서'target' 브랜치까지입니다. 일단'source'가'target'으로 병합 된 후에 삭제되면, PR은 존재하지 않고 변경할 수 없습니다. 후속 변경 사항은 별도의 홍보로 이동해야합니다. – crowchirp