내 토픽 브랜치는 제가 분기 한 곳보다 약 20 커밋입니다.자동으로 스쿼시 20 개 커밋을하고자합니다
분기 후 첫 번째 커밋 에이 모든 커밋을 자동으로 스쿼시하고자합니다.
내가 rebase와 대화 형으로이 작업을 수행 할 수 있음을 알고 있지만 상호 작용하고 싶지 않습니다. 단지 명령을 실행하십시오.
내 토픽 브랜치는 제가 분기 한 곳보다 약 20 커밋입니다.자동으로 스쿼시 20 개 커밋을하고자합니다
분기 후 첫 번째 커밋 에이 모든 커밋을 자동으로 스쿼시하고자합니다.
내가 rebase와 대화 형으로이 작업을 수행 할 수 있음을 알고 있지만 상호 작용하고 싶지 않습니다. 단지 명령을 실행하십시오.
당신은 이런 식으로 할 수있는 :
git reset --soft HEAD~20
git commit -m "massive commit"
(가) 정확한 당신이 재설정하려는 커밋 찾을 수있는 빠른 방법은 다음
git reset --soft <commit-ish>
왜 작업을 수행 할 수 있습니다, 그 출력이 <commit-ish>
경우
git merge-base <topicbranch> <otherbranch>
을하는 것입니다 원래 지점을 확인하고 git merge --squash <other branch>
?
그러면 git commit
은 결합 된 커밋 메시지를 편집 할 수있는 기회를 제공합니다.
꽤 좋은 대안이지만, 다른 상태로 가지를 남기지 않습니다.
나는 실제로 질문을 잘못 읽었다 고 생각합니다. 나는 그가 가지가 창조 된 후에 원래 가지에 대한 첫 번째 커밋을 의미한다고 생각했다; 내 생각에 그는 병합하지 않고 자신의 지점을 하나의 커밋으로 스쿼시하려고합니다. – meagar
아, 네 말이 맞아. 나는 그것을 반영하기 위해 나의 대답을 바꿀 것이다. –
[가능한 첫 번째 커밋을 어떻게 찾을 수 있습니까?] (http://stackoverflow.com/questions/15948202/how-can-i-find-the-first-commit-of-a- branch) – Chronial
@Chronial : 어쩌면 당신이 언급 한 질문의 제목이 오도 된 것입니다 ... – krlmlr