2017-05-03 1 views
0

모든 커밋을 리베이스하는 방법은 무엇입니까?모든 커밋을 리베이스하는 방법은 무엇입니까?

+0

이유를 묻고 싶습니다. 나는 당신이 잘못된 날짜의 PC를 가지고 있다고 가정하지만 이것을 해결하기 위해 정말로 * 필요합니까? 이 방법으로 수정 한 모든 커밋은 새로운 커밋이 될 것이므로 해당 커밋을 기반으로하는 모든 분기를 올바른 위치에 리베이스해야하므로 리포지토리의 복제본을 가진 사람은 모두 리 클로닝 및 리디렉션을 통해 신중하게 처리해야합니다. 선택적으로 로컬에서 수정 한 내용을 리베이스/복사 할 수 있습니다. 그만한 가치가 있다고 확신합니까? –

+0

나는 그것을 알고있다. 운 좋게 그것의 개인적인 repo 그렇게 Im는 그것으로 멋지다. –

답변

1

에 및/또는 GIT_COMMITTER_DATE 환경 변수를 다시 계산하는 --env-filter을 사용하십시오.

0

git rebase --onto을 사용하여 각 분기를 별도로 리베이스 할 수 있습니다 (초기 커밋은 유지되어야 함).

A---B---C---D---E----F---G---H master 

git checkout master 
git rebase --onto commitA commitG master 

다음 master 지점이 보일 것 같은 :

A---H master 

당신은 지금 당신이 명령에 의해 B ~ G을 커밋을 제거 할 수 있습니다, master 지점에 A ~ H 커밋 가지고

이러한 다른 브랜치에 대해서도 같은 방법을 사용할 수 있습니다.

관련 문제