[미라클 TIL 1일차] Git에 대해 알아보자
TIL 24. 01. 04
내일배움캠프 React 3기 최종 팀 프로젝트 주차가 시작되었다. 팀원 간 협업을 위해 프로젝트를 관리하고 다른 팀원들과 병렬적으로 개발하는데 있어 Git은 필수적이다.
그런데 여태껏 이해 없이 Git을 사용해왔기에 오류가 발생할 때 대처하기 힘들었고 원리를 이해하지 못해 응용하기가 어려웠다. 최종 프로젝트에서는 프로젝트 관리와 협업을 위해, Git을 효율적으로 사용하고 생산성을 높이기 위해 여유가 있을 때 Git을 학습해보았다.
Git을 써야하는 이유 - 팀 프로젝트 중 겪는 난관
기능을 나누어 개발하는데 어떻게 데이터를 전달할 것인가?
카카오톡? Email? 직접.. 은 번거로워 보인다. 각자 개발하다 보면 코드를 동기화 시키는 시점이 필요한데 데이터를 전달할 수 있는 방법이 필요하다.
변경점 검토
팀원이 데이터를 무사히 전달했다고 하자. 그런데 전달 받은 데이터를 확인해보니 어떤 데이터가 변경되었고 최신 버전인지 도무지 알 수가 없다.
코드 손실
데이터를 받아서 작업을 하고 팀원에게 전달해주었다. 그러던 어느 날 내가 완성하여 보내 준 데이터가 사라졌다. 이유는 팀원 한 명이 내가 보낸 최신 파일이 아닌 이전 버전으로 작업하다가 덮어쓴 것.
변경 이력
“이전에는 됐었는데 왜 안 되지?”, “안 됐었는데 왜 되지?”, “이 코드는 뭐지?” 도무지 알 수 없는 일이 벌어진다. 누가, 언제 수정한 것인지 알 수 없다.
이처럼 팀 단위로 개발하다 보면 다양한 문제가 발생할 수 있다. 이러한 난관들을 어떻게 헤쳐나갈 수 있을까?
팀 프로젝트 구원자 Git
버전 관리와 협업이 팀 프로젝트를 원활히 이끌어 갈 수 있는 원동력이 된다. 이를 위한 도구가 바로 Git이다.
버전 관리를 하며 협업을 할 수 있는 토대를 마련해주고 코드를 안정적으로 유지, 배포될 수 있도록 도와주는 서비스가 바로 Git이다. 그럴듯해 보인다. 그런데 버전 관리는 무엇이고 협업을 어떻게 도와준다는 것일까?
버전 관리
위와 같은 상황을 만나본 적이 있을 것이다. 최종 파일이라 하지만 완벽하지 않기에 반드시 수정 사항이 생긴다. 그렇다면 최종 파일은 이전 버전이 되고 최최최최종파일까지 생겨나는 것을 흔히 볼 수 있다.
Git은 최종 버전과 최최종 버전, 최최최최종 버전까지도 관리해 준다. 누가 무엇을 추가했고 수정했는지 기록을 남겨서 작업하다가 오류가 생겨서 이전 버전으로 돌아가야 할 때도 버전 관리를 바탕으로 수월하게 돌아갈 수 있다.
협업
하나의 프로젝트에 대해 순서대로 구현하면 효율이 떨어진다. 팀 구성원들이 각자 독립적으로 작업을 하고 나중에 합치는 방식이 얼핏 보기에도 좋아 보인다. GIt을 사용하면 가장 최신 버전을 가리키고 있어 최신 코드로 작업해야 할 때 수월하다.
또한 새로운 기능을 추가하려고 할 때 잘 만든 코드인지, 코드 컨벤션에 맞는지, 가독성이 좋은지 등을 검토하고 합치기 위한 코드 리뷰를 할 수 있다. 코드 리뷰를 통해 오류를 찾아내고 코드의 품질을 향상시키는 데 큰 도움이 된다.
##
댓글남기기