TIL 24. 01. 04

내일배움캠프 React 3기 최종 팀 프로젝트 주차가 시작되었다. 팀원 간 협업을 위해 프로젝트를 관리하고 다른 팀원들과 병렬적으로 개발하는데 있어 Git은 필수적이다.

그런데 여태껏 이해 없이 Git을 사용해왔기에 오류가 발생할 때 대처하기 힘들었고 원리를 이해하지 못해 응용하기가 어려웠다. 최종 프로젝트에서는 프로젝트 관리와 협업을 위해, Git을 효율적으로 사용하고 생산성을 높이기 위해 여유가 있을 때 Git을 학습해보았다.

Git을 써야하는 이유 - 팀 프로젝트 중 겪는 난관

기능을 나누어 개발하는데 어떻게 데이터를 전달할 것인가?

카카오톡? Email? 직접.. 은 번거로워 보인다. 각자 개발하다 보면 코드를 동기화 시키는 시점이 필요한데 데이터를 전달할 수 있는 방법이 필요하다.

변경점 검토

팀원이 데이터를 무사히 전달했다고 하자. 그런데 전달 받은 데이터를 확인해보니 어떤 데이터가 변경되었고 최신 버전인지 도무지 알 수가 없다.

코드 손실

데이터를 받아서 작업을 하고 팀원에게 전달해주었다. 그러던 어느 날 내가 완성하여 보내 준 데이터가 사라졌다. 이유는 팀원 한 명이 내가 보낸 최신 파일이 아닌 이전 버전으로 작업하다가 덮어쓴 것.

변경 이력

“이전에는 됐었는데 왜 안 되지?”, “안 됐었는데 왜 되지?”, “이 코드는 뭐지?” 도무지 알 수 없는 일이 벌어진다. 누가, 언제 수정한 것인지 알 수 없다.

이처럼 팀 단위로 개발하다 보면 다양한 문제가 발생할 수 있다. 이러한 난관들을 어떻게 헤쳐나갈 수 있을까?

팀 프로젝트 구원자 Git

버전 관리와 협업이 팀 프로젝트를 원활히 이끌어 갈 수 있는 원동력이 된다. 이를 위한 도구가 바로 Git이다.

버전 관리를 하며 협업을 할 수 있는 토대를 마련해주고 코드를 안정적으로 유지, 배포될 수 있도록 도와주는 서비스가 바로 Git이다. 그럴듯해 보인다. 그런데 버전 관리는 무엇이고 협업을 어떻게 도와준다는 것일까?

버전 관리

image-20240105024432293

위와 같은 상황을 만나본 적이 있을 것이다. 최종 파일이라 하지만 완벽하지 않기에 반드시 수정 사항이 생긴다. 그렇다면 최종 파일은 이전 버전이 되고 최최최최종파일까지 생겨나는 것을 흔히 볼 수 있다.

Git은 최종 버전과 최최종 버전, 최최최최종 버전까지도 관리해 준다. 누가 무엇을 추가했고 수정했는지 기록을 남겨서 작업하다가 오류가 생겨서 이전 버전으로 돌아가야 할 때도 버전 관리를 바탕으로 수월하게 돌아갈 수 있다.

협업

하나의 프로젝트에 대해 순서대로 구현하면 효율이 떨어진다. 팀 구성원들이 각자 독립적으로 작업을 하고 나중에 합치는 방식이 얼핏 보기에도 좋아 보인다. GIt을 사용하면 가장 최신 버전을 가리키고 있어 최신 코드로 작업해야 할 때 수월하다.

또한 새로운 기능을 추가하려고 할 때 잘 만든 코드인지, 코드 컨벤션에 맞는지, 가독성이 좋은지 등을 검토하고 합치기 위한 코드 리뷰를 할 수 있다. 코드 리뷰를 통해 오류를 찾아내고 코드의 품질을 향상시키는 데 큰 도움이 된다.

##

카테고리:

업데이트:

댓글남기기