

댓글 기능 고도화 작업 중, N차 대댓글 기능을 최종적으로 완성하였고, 이후에는 고객의 기능 롤백 요구사항이 왔을 경우를 대비하여, 변경사항을 되돌리는 작업까지 진행해보았다. 실제로 현재 시스템 운영을 하고 있는 입장에서, 프로그램 개선 건으로인해 사이드 이펙트가 발생하는 경우가 많은데, 그럴 때 가장 효과적인 해결방법이 이전 소스코드 상태로 되돌리는 롤백이다. 내가 반영한 소스코드가 시스템 장애를 일으킬 때, 빠르게 원인을 분석하여 수정하는 것이 가장 좋겠지만, 급박한 상황에서 소스코드 전체를 분석하여 원인을 찾기는 아무래도 어려운 경우가 많다. 따라서, 원활한 시스템 운영을 위해서는 소스코드를 이전으로 되돌리는 것이 중요한데, 과거에는 변경 이전의 소스코드를 따로 복사하여 저장해놓는 식으로 보관해두다가, 변경을 취소할 상황이 오게 되면, 저장해놓은 소스코드를 다시 반영하는 방식으로 롤백을 진행하였다. 이러한 방식은 작업하는데 시간도 많이 들 뿐만 아니라, 다른 소스코드와 섞여서 어떤 코드로 원상복구해야 하는지 착오를 일으키는 문제가 있다. 따라서, Git에서 제공하는 Revert 방법을 사용하여, Commit 단위로 소스코드를 롤백하는 방식으로, 기존에 변경한 기능을 취소하는 작업을 진행하였다. 여러 개발자 간 협업하는 환경에서 형상관리 툴을 쓰고 있다면, 이렇게 Git Revert를 통해 Commit 단위로 이전 소스코드 상태로 되돌리는 기능을 쓰면, 오류 없이 정확한 지점으로 원상복구가 가능하게 된다. 또한, Revert 기능에는 Commit 단위로 소스코드를 되돌리는 것뿐만 아니라, 특정 지점에 부여한 태그 단위로 소스코드를 되돌리는 기능 또한 있다. 이를 테면, 1.0.0 버전과 1.1.0 버전이 각각 태그로 생성되어 있는 경우, 내가 원하는 태그를 지정하여 해당 지점으로 소스코드를 되돌리는 기능 또한 있으니, 실제로 규모가 큰 소프트웨어를 관리할 때는 이러한 Revert 방식이 많은 도움이 될 것이라고 생각한다. Revert 또한 프로그래머라면 필수로 알아야 할 엄연한 개발의 일부다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.