Git, Github

[Git] 잘못 올라간 소스 원복하는 방법 (Revert, Reset)

JongHyun99 2022. 3. 28. 21:04
728x90

최근 서버에 잘못된 소스를 올려 원복해야하는 일이 있었는데, 원복에 익숙치 않아 헤매었었다.

인텔리제이를 기준 원복하는 법을 알아보자.

 

0. Build 툴의 Build History를 통해 복구해야 할 커밋 로그를 확인한다.

 

 

 

 

1. IntelliJ Git 커밋로그에서 원복해야할 커밋들을 드래그한다.

 

 

 

 

2. Revert Commits를 실행하면 선택한 커밋로그의 반영분이 복구된다.

 

ResetRevert 차이점

Reset: 반영 내역과 커밋 로그까지 함께 되돌린다. (원복 기록이 남지 않음)

Revert: 반영 내역을 되돌리며 되돌린 행위까지 기록으로 남긴다. (원복 기록이 남음)

 

 

 

 

3. Push하기 전에 복구된 커밋들을 Squash해준다.

 

Squash: 여러 커밋 로그들을 묶어서 한 개의 커밋으로 Push할 수 있다.

이미 원격저장소에 Push커밋들은 위 사진과 같이 Squash기능을 사용할 수 없으므로 주의

(이미 Push커밋을 Squash하려면 원격저장소의 커밋로그를 덮어써야 하므로 다른 팀원들에게 Conflict를 일으킬 수 있다.)

 

 

 

처음이 어렵지 두번은 쉽다.