2016-12-15 10 views
1

git cherry-pick을 사용하여 다른 지사에 복잡한 기능을 리베이스합니다. 큰 커밋에서 충돌을 해결하려고 할 때, 나는 먼저 적용되어야하는 다른 커밋을 놓친 것을 알게됩니다.충돌 해결 중 숨김 변경

나는 현재 상태를 stash 수 없으며 다른 커밋을 적용한 다음 stash pop을 수행합니다.
cherry-pick --abort을 수행하고 다른 커밋을 적용한 다음 다시 체리를 선택하되 해결 된 충돌은 잃어 버릴 수 있습니다.

이러한 상황을 처리하는 가장 좋은 방법은 무엇입니까?

+0

"있어야"또는 "있어야"합니까? 전자의 경우에는 계속해서 해결 한 후 상황을 수정하십시오. – j6t

+0

놓친 커밋은 이미 일부 충돌을 처리하기 때문에 수동으로 처리하지 않아도됩니다. –

+0

나는 과거에, 그리고 당신이 묘사하고있는 것과 같은 상황에서 큰 충돌을 일으켰습니다. 총알을 피하고 병합을 완료합니다. 그런 다음 되감기하고 유용한 다른 커밋을 적용한 다음 병합을 다시 실행합니다. 운 좋게도'rerere' 기계는 많은 커밋을 자동으로 다시 해결합니다. – j6t

답변

1

j6tadvice 다음에 되감기를 완료 한 다음 다른 커밋을 적용하고 cherry-pick을 다시 적용 할 수 있습니다.

아이디어는 git rerere이 활성화되어 있는지 확인하여 병합 충돌을 다시 해결하지 않는 것입니다.

rerere을 활성화하지 않은 경우 첫 번째 합병의 분쟁 해결을 잊지 않으려면 rerere-train.sh script I mentioned before이 있어야합니다.