git 브랜치가 있다고 가정하고 공유하기 전에 최종 리뷰에서 맞춤법 오류와 같은 작은 오류가 발견됩니다. 내가 뭘하고 싶은지는 하나의 패치를 "픽스 업"으로 적용하는 것입니다. 그러나 실제로 많은 커밋에 영향을 주어 최종 기록에 오류의 흔적이 없습니다.Git rebase : 하나의 커밋으로 fixup 다중 커밋
즉, 하나의 커밋에서 줄 A를 변경 한 다음 다른 커밋에서 줄 B를 변경 한 다음 줄 A와 B 모두에 영향을주는 패치가있는 경우 커밋 변경 줄 A가있는 곳에서 rebase를 수행하고 싶습니다. 해당 패치의 A 부분에 의해 고쳐지고 커밋 변경 라인 B는 커밋이 어느 커밋인지 수동으로 파악하지 않고 B 파트를 가져옵니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
collect all hunks from the fixup
for commit in the history we are rebasing:
check out commit
for hunk in fixups:
try:
apply hunk to the working tree
except:
continue
remove hunk from fixups
commit the working tree.
Spit Erarrs가 도입 된 커밋을 찾기 위해'git blame' (또는'git annotate')을 사용하고, 각 수정을 개별적으로 커밋하고, 각 수정을 a로 축소하여'rebase -i'를 각 "나쁜"커밋에 대한 픽스 업. – torek
질문에 제안 된 알고리즘이 좋은 생각이라고 생각합니다. 누군가 그것을 구현해야합니다! –