백엔드가 이 정도는 해야 한대 - 버전 관리시스템

dropKick·2020년 7월 11일
0

시리즈 설명

이 시리즈는 ab180의 PlanB(JoMinGyu)님이 작성하신 '백엔드가 이정도는 해줘야 함'을 토대로 프로젝트에 적용 시킨 것들입니다.

버전 관리 시스템

도입 이유

  • 얘기를 통해 버전 관리 시스템이 필요하고 중요하다는 것은 계속 들어옴
  • 세미나 할 때도 브랜치 전략을 사용해서 해봄
  • 그런데 프로젝트에서 실제로 git flow 를 통해 프로젝트를 관리 해본 적은 없었음

따라서 브랜치 분리를 통해 git flow를 만들고 그에 따라 프로젝트를 관리 해보려 한다.

선택과 구성

Git vs. SVN

  • 대표적으로 Git과 SVN으로 VCS는 나뉜다
  • SVN은 중앙 저장소와 로컬 저장소가 클라이언트-서버로 연결되어 있다
  • Git은 각자 로컬 저장소를 소유하고 로컬에서 작업을 로컬 저장소로 올린 뒤, 태그를
    붙여 중앙 저장소로 합병한다

Git을 사용하기로 정했다.
우리가 경험하고 싶은 건 각 저장소에 따라 프로젝트를 다르게 관리하고, 합병하는 것이다
기존에 VCS를 사용하지 않았을 땐 A 로직을 수정하는 동안 다른 작업을 할 수 없었고 각자가 계속 개발 중 합을 맞춰야 했다.

Github vs. GitLab

  • Git과 저장소를 관리할 원격 저장소
  • GitLab은 새롭게 나온 서비스로 기술 부채가 있음
  • Github는 꾸준히 사용하던 서비스

Github Student Development Pack을 사용 중이기 때문에 Github를 사용함
굳이 탄탄한 무료 서비스를 놔두고 갈 필요가 없다

SourceTree vs. GitKraken

  • Git flow를 관리할 Git GUI
  • 콘솔에서 Git을 작업하는 것도 좋지만 직관적인 툴이 필요

  • Git Kraken(하단)이 flow가 더 직관적임

깃 크라켄이 flow가 더 직관적이고 학생팩에 Git Kraken도 포함되므로 깃 크라켄을 사용한다

0개의 댓글