위에 기러우 님이 남겨주신 내용은 rebase 사용하는 방식인데요. rebase는 commit 이력을 하나씩 따라가면서 변경 내용을 추적 후 순차적으로 하나씩 병합하며 커밋 아이디를 새로 땁니다. 그러니 저 방법 사용하면 억지로라도 1년 전의 이력을 고치는 건 되는데, 문제는 그 이후 이력 부터는 똑같은 변경 분에 대해 새 커밋 아이디로 덮어쓰게 되는 겁니다.
위에 링크 글도 언급했지만 이 방법 쓰실 경우 같이 일하는 사람들은 1년간의 작업 내용 전체에 충돌이 발생했다고 뜰 겁니다. 그 때문에 그 충돌을 해결하려면 남들이 고생 좀 해야 하는 거죠...
혼자 작업하시고 계시면 기러우님이 달아주신 방법 쓰시면 될 거 같습니다.
회사 코드라든지 타인과 협업하고 있다면 그냥 지금 버전에서 수정하고 새 커밋 따시는 걸 강력하게 추천합니다.