-
[Upstage AI Lab 3기] 소스코드 형상관리 GIT인공지능 AI/패스트캠퍼스 부트캠프 Upstage AI Lab 3기 2024. 4. 26. 00:25
목차
어떤 도메인의 개발자라 하더라도, 소스코드 형상관리는 필수이다.
형상관리의 독보적인 GIT은 모든 개발자가 배우고 사용해야 하는 필수 도구가 되었다.
특별히 이번 수업 때, 내가 기억해야 할 부분은 git flow 이다.Flow 란?
flow라는 것은 브랜칭 전략이면서, 배포 전략이기도 하다.
개인 개발자가 아닌 팀이나 회사 입장에서는, 개발 단계, QA 단계, 배포 단계 등 실제 프로그램 출시 전에 여러 테스트 단계를 거쳐야 한다.
그에 맞춰 소스코드도 관리되어야 하는데, 이를 개념화 한 것이 바로 flow이다.Github Flow VS GitLab Flow VS Git Flow
github나 gitlab은 git에 속한 원격 저장소들이기 때문에 git flow가 기본이다.
취업을 목표로 한다면, git flow를 기억해야 한다.회사에서 github를 사용하는 경우는 드물다. 회사의 기밀자료이고, 가장 중요한 자산인 소스코드를 무료 오픈소스 플랫폼에 올려서 관리하진 않기 때문이다. 아무리 github와 gitlab 등에서 private 공간을 제공한다 하더라도, 그 플랫폼을 운영하는 회사는 그 소스코드를 얼마든지 볼 수 있고, 복제할 수 있기 때문이다.
따라서, 취업을 목표로 한다면 github flow가 아닌 git flow를 배워야 한다.
다만, 오픈소스에 기여하고 싶다면 당연히 github flow 방식을 배워야 한다.그렇다면, gitlab flow는 어떠한가? 회사들은 자체적인 형상관리 서버를 gitlab으로 구성하는 경우가 많다. 하지만, flow 방식은 git flow 방식을 채택하는 경우가 대부분이며 이것이 대표적이기 때문에 굳이 gitlab flow 방식을 학습할 필요는 없다.
결론은 이미 말했듯이 git flow를 배워야 한다.
git flow는 아래 그림과 같다.- master: 대고객들에게 배포되는 상용 버전이다.
- hotfixes: 정말 급하게 수정되거나, 소스코드 외에 인프라 변경 사항 등의 이유로 수정되야 하는 경우에 생성되는 임시 브랜치이다.
- release branches: 상용 버전으로 배포를 앞 둔 내용을 모아두는 브랜치이다. 어느정도 모이거나, 몇 개월에 한번씩 상용 버전으로 출시한다.
- develop: 개발자가 개발 완료하여 올려둔 내용들이다. 팀장의 승인을 기다려야 하며, 팀장이 확인 후, release로 올려야 한다.
- feature branches: 개발자가 자신의 방식이나 취향 것 생성하고 삭제하는 개발 브랜치이다.
회사 마다, 그리고 팀장 마다 방식은 약간씩 다를 수 있다.
#패스트캠퍼스 #패스트캠퍼스AI부트캠프 #업스테이지패스트캠퍼스 #UpstageAILab #국비지원 #패스트캠퍼스업스테이지에이아이랩 #패스트캠퍼스업스테이지부트캠프
'인공지능 AI > 패스트캠퍼스 부트캠프 Upstage AI Lab 3기' 카테고리의 다른 글
[Upstage AI Lab 3기] Data Scientist 마인드셋 특강 (0) 2024.04.27 [Upstage AI Lab 3기] 데이터 분석의 근본 Statistics (0) 2024.04.26 [Upstage AI Lab 3기] 빠르게 인기가 많아지고 있는 FastAPI (0) 2024.04.10 [Upstage AI Lab 3기] 구글 플레이스토어 댓글 리뷰 크롤링 (0) 2024.04.10 [Upstage AI Lab 3기] 파이썬 기초 및 셀레니움 크롤링 (0) 2024.04.04