작업 중 실수가 있어서, 이전 이력의 특정 커밋으로 되돌리고 싶다면 다음과 같은 방법을 사용하자. 소스트리를 활용했다.
Hard
는 깔끔하게 해당 커밋으로 히스토리를 돌리는 가장 깔끔한 리셋모드이다.Mixed
는 시간을 되돌리긴 하지만, 그 이후의 변경사항은 작업공간에 남겨두는 리셋모드Mixed
는 변경이력이 스테이지로부터 내려가 있다.Soft
는 시간을 되돌리긴 하지만, 그 이후의 변경사항은 작업공간에 남겨두는 리셋모드Soft
는 변경이력이 스테이지에 올라가 있다.변경사항을 Commit한 후, Push할때 충돌이 발생한다. 원격 브랜치에는 아직 변경사항이 그대로 남아있기 때문이다.
이 변경사항을 원격 브랜치에도 반영하려면, 강제 푸시 옵션
을 체크하자
강제 푸시를 하고 나면 되돌리기를 한 시점 이후의 commit 이력은 깔끔하게 사라지고 강제푸시한 커밋 부분이 최종적으로 올라간다.