2014-11-25 3 views
0

나는 지루한 역사를 가진 프로젝트를 가지고 있습니다. 내가하려는 것은 특정 커밋까지 모든 것을 보존하고 그 커밋에서부터 모든 것을 스쿼시하는 것입니다.힘내 : 다른 곳에서 기록을 병합하지 않고 커밋 범위 늘리기

-...- B -...- C

: 그래서 다음과 같은 방식으로, 나는 사이 A와 B 등이며, B와 C 사이의 스쿼시 모든 것을 포함하여 모든 것을 유지하고 싶습니다 불행히도, 대화식 리베이스를 할 때 나는 길을 따라 전체 역사를 평평하게하는 것처럼 보입니다. 이상적인 것은 아닙니다. 나는 여전히 A와 B 사이의 지점과 합병을보고 싶습니다. 그렇게 할 수있는 간단한 방법이 있습니까? 나는 정말 간단한 것을 놓치고 있습니까?

+1

[머지 유지?] (0120-385-305) – Basilevs

+0

[스쿼시 내 마지막 X 젠투를 사용하여 커밋] (http://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git) –

+0

--preserve-merges 옵션은 정확하게 찾고있는 옵션입니다. 고맙습니다! – principal

답변

0

를 작성해야

N 당신은 당신이 리베이스 한 지점에 C.에 다른 커밋의 각 스쿼시해야 B와 C

사이의 커밋 수입니다

$ git rebase -i HEAD~N 

, 당신은 A와 B 사이의 모든 커밋을 보존하게됩니다.

이 자습서 : http://pcottle.github.io/learnGitBranching/도 참조하십시오.