좋아, 나는 당신이 필요한 곳으로 돌아갈 수있는 워크 플로우를 찾았다 고 생각합니다 (팝을하지 않은 것처럼).
미리 백업하십시오! 이것이 당신에게 효과가 있는지 모르겠습니다. 그래도 효과가 없을 경우를 대비하여 전체 저장소를 복사하십시오.
1) 패치에서 발생하는 모든 변경 사항을 선택하여 병합 문제를 해결하고 모든 충돌을 수정하십시오 (rtotsemerge에서 이것은 하나의 REMOETE (그들의)로 나타납니다).
git mergetool
2) 이러한 변경 사항을 적용하십시오 (이미 mergetool 명령을 통해 이미 추가됨). "병합"이라는 메시지 나 기억하는 것을 제공하십시오.
git commit -m "merge"
3) 이제 패치에서 새로운 커밋을 사용하여 원래 시작한 로컬 단계적 변경 사항이 계속 유지됩니다 (나중에 제거 할 수 있음). 이제 준비되지 않은 변경 사항을 커밋하십시오.
git add .
git add -u .
git commit -m "local changes"
4) 패치를 뒤집습니다. 다음 명령으로 수행 할 수 있습니다.
git stash show -p | git apply -R
5) 다음 변경 사항을 적용하십시오.
git commit -a -m "reversed patch"
6) 패치 / 언 패치 커밋 제거
git rebase -i HEAD^^^
여기에서 '병합'과 '역전 된 패치'가있는 두 줄을 제거하십시오.
7) 변경되지 않은 변경 사항을 되돌리고 '로컬 변경 사항'커밋 실행 취소
git reset HEAD^
간단한 예제를 통해 살펴 보았으므로 스 태쉬가 팝업되기 직전에 로컬 변경 사항과 스 태쉬를 계속 사용할 수있는 상태로 되돌릴 수 있습니다.