2016-08-25 6 views
1

그래서 백엔드를 수행하는 동안 안드로이드 프로젝트에서 잠시 일하고 있습니다. & 네이티브 클라이언트 개발. 프로젝트는 그때부터 약간의 진전을 이뤘고 나는 프로젝트 커미터 중 유일한 사람입니다. 그래서 기본적으로 추가 또는 수정 한 모든 항목을 기본적으로 빨리 - 병합했습니다. 이제 우리 회사는 새로운 Android 개발자를 원하며 나를 백 엔드 팀으로 끌어들입니다. 내 안드로이드 저장소 역사를 다시 작성하고 어떤 기능이 추가/고정/릴리스 및 모든 것을 보여주고 싶습니다. 따라서 빠른 전달 형식의 선형 커밋 기록을 빠른 전달 유형이 아닌 형식으로 다시 작성하고자합니다. 이게 가능한가? git reflog의 출력을 조사하여빨리 감기에서 no-fast-forward로 이력을 재 작성하는

+0

reflog가 있다면 거기에서 일부 흐름을 재구성 할 수 있습니다. 즉 오래된 -ff 병합을했을 때를 지적하고 스크립트 된 rebase를 통해 재생하고 적절한 병합을 추가하십시오. –

답변

1

, 또는 grep를 통해 :

git reflog --date=iso | grep -i Fast-forward 

하나는 '병합'을 찾을 수 있습니다 빨리 감기의 결과 커밋 :

b69e480 [email protected]{422}: merge b69e480: Fast-forward 
38e2ace [email protected]{438}: merge 38e2ace: Fast-forward 

는 그 다음 복원 할 수 있어야한다 해당 분기를 열고 플래그로 다시 병합하십시오. 먼저 HEAD을 적절한 시작 지점으로 다시 감습니다.

a related blog이 있습니다. 동일한 방법을 사용하는 잘못된 병합을 복구하는 방법을 시연하는 것이 좋은 예일 수 있습니다.