2012-02-06 2 views
8

난 그냥 내 자식 repo sync'd했습니다 회귀했다. 나는 커밋을 발견 할 때까지 역사를 살펴보고 싶지만, 내가 할 때 커밋 하나만 표시하는 거대한 병합이 있습니다. git log.선형 병력으로 병합을 어떻게 병합 할 수 있습니까?

내 로컬 지점에서이 병합을 병합 할 수있는 방법이 있습니까? git log 그냥 걸을 수있는 선형 기록이 있습니까?

답변

5

당신이 찾고있는 것은 interactive rebase입니다.

git rebase -i master을 통해 마스터에 대해 리베이스 할 수 있습니다.

pick ba6b4b7 Commit messages here 
pick 744ea3b Another commit message 
pick 33539d5 Commits all around! 

"pick"을 "squash"로 바꿀 수 있습니다. 그러면 맨 위 커밋까지 모두 스쿼시됩니다. 상단의 "pick"을 "fixup"으로 변경하여 커밋 메시지를 변경할 수도 있습니다.

0

실제 rebase를 제외하고 쿼리를 세부 조정할 수도 있습니다. git log --topo-order $head은 각 병합에 대해 병합 완료 직후에 병합 된 분기의 모든 내용을 나열합니다. 이 지점을 리베이스 한 것처럼 보일 것입니다.

관련 문제