저는 커밋 된 8 개의 커밋을 편집하는 중대한 대화 형 리베이스를하고있었습니다. 이것은 git commit --amend
으로 완료됩니다. 내 문제는 내가 한 번도 알지 못했던 병합 충돌이 있다는 것입니다. 따라서 순진한 수정을 계속했습니다. git rebase --continue
-ing. 분명히 지금은 하나에 여러 커밋을 개정하고 내 커밋 중 약 4 rebase 완료 후 사라 졌어요. 변경 사항이 다른 커밋으로 수정되었습니다.대화식 리베이스에서 충돌을 해결하는 대신 수정했습니다. 실행 취소 할 수 있습니까?
내가 이러한 수정을 취소하거나 사라진 커밋을 다시 적용 할 수있는 방법이 있습니까?
물론입니다. 한 가지 해결책은 돌아가서 rebase를 다시하는 것이지만 rebase에서 많은 수정 작업을했기 때문에 모든 작업을 다시 할 필요가 없습니다. 내가이 곤경에 빠지게 된 것은 또 다른 이야기입니다.
망할 놈의 나무 예 : REBASE 후 A-B-C-D-E-F
: REBASE 전에
A-B-C-F
(C 지금 개정 D와 E의 변경이있다) 예, 당신이 할 수있는
'C' 커밋을 여러 원본 조각으로 풀어 낼 방법을 모르겠습니다. 나는 개인적으로 rebase를 다시 할 것이다. –
여기에 2017가 있습니다. – Automatico
아마도 다른 사람이 당신을 위해 은색 총알을 가지고있을 것입니다. 내가 말할 수있는 것부터 끝내면 더 나쁜 것이 될 것이다. –