- 시작하며 -
혼자 개발을 하다 보면 모르는 것이 있어 구글링을 하여 선배개발자분들의 소스를 살펴볼 때면 GitHub에 파일이 있는 경우가 많이 있습니다. 그때쯤이면 "선배 개발자들은 왜 깃을 통해 개발을 하는 것일까?"라는 궁금증을 가지게 됩니다.
Git이 필요한 이유들에 대하여 말해볼까 합니다.
- 본문 -
여러 경우들을 봐봅시다.
1번의 경우, 구글스토어에 앱을 배포하고 있는 한 개발자는 배포하고 있는 앱에 심각한 버그가 있다는 것을 알게 됩니다. 이 개발자는 이 앱의 버그를 고쳐야만 정상적인 서비스를 클라이언트들에게 재공 할 수 있습니다.
2번의 경우, 대학교를 다니는 3명의 개발자가 있습니다. 이 개발자 들은 교수님의 팀프로젝트과제로 앱을 하나 개발해야 합니다. 이 3명의 개발자들은 각자 한 파트씩 나눠 앱을 개발하기로 합니다. 3명의 개발자를 베이스파일을 만들어 각자 만든 3개의 파일을 덮어쓰기로 합니다. 당연하게도 이 앱은 정상적으로 작동하지 않습니다.
이 2개의 경우들은 각자 다른 경우이지만 한 개의 프로그램만 있다면 이러한 상황들이 닥쳤을 때 좀 더 유연하게 대처할 수 있습니다. 그게 바로 Git입니다.
1번의 상황 같은 경우 이 개발자가 Git을 사용하고 있다면 앱의 버전을 낮춰가며 그 버그가 생겼던 부분을 찾아 탐색을 한다면 더욱 쉽게 에러를 찾아 고칠 수 있을 것입니다. 또한 앞의 commit 또한 남아 있기 때문에 그 부분들을 참고하여 다시 개발을 할 수도 있을 것입니다.
2번 상황 같은 경우
일반적을 덮어쓰게 되면 해당파트는 마지막으로 덮어쓴 파일로 변하게 된다. 만약 다 같은 파트에 고친 부분이 있다면 한 가지만 적용하게 돼서 에러가 생길 수 있습니다. 에러가 안 생기면 그건 그거대로 무서워서
그렇다면 Git을 사용하게 된다면 뭐가 달라질까
Git은 이렇게 브랜치를 나눠 개발을 할 수 있습니다. 이렇게 개발을 하다가 한 파트가 끝나면 Pull Request를 보내면 겹치는 부분이 있더라도 그 부분을 확인을 할 수 있기 때문에 그 부분만 수정하고 merge 하여 좀 더 편하게 개발할 수 있습니다.
- 마치며 -
Git은 이밖에도 버전관리랑 보안 같은 여러 가지 장점이 있습니다. 이처럼 개발자들은 개발을 좀 더 쉽고 체계적으로 할 수 있도록 Git을 사용하여 개발을 합니다.