버전관리는 왜 필요하며, 어떻게 활용해야 할까?

버전관리란?

버전관리(Version control) 은 어떠한 프로젝트나 정보에 대해 여러 버전을 관리하는 것이다. 팀 협업이 필요한 작업에 유용하게 사용된다.

?

처음엔 나도 무슨 소리인가 했었다. 쉽게 설명하자면,

다들 이런 경험이 있을 것이다. 버전관리라는 용어에 대해 몰랐지만, 이러한 행동도 제목을 미묘하게 바꿔가며 나름 버전관리를 하고 있었던 것이다.

프로그래밍에서 버전관리란?

주로 소스코드를 관리하는 것을 버전관리를 한다고 칭한다. 코드의 백업, 변경사항 트래킹 등의 중요성이 점점 두드러지고 있다. 소프트웨어 산업의 핵심 자산인 소스코드를 관리하는것은 중요하다.

버전관리를 하는 이유

  1. 잘못된 변경으로부터 복구하기 위함
  2. 협업 프로젝트에서 각자의 소스코드를 하나로 합치기 위함 (Merge)
  3. 협업 프로젝트에서 분업을 하기 위함 (Branch)
  4. 소스코드의 수정을 언제, 누가 했는지 알기 위함
  5. 소스코드의 변경, 수정을 안전하게 하기 위함

git 버전관리 주요 용어 정리

  1. Repository (저장소): 파일을 저장하는 저장소
    1. local Repository: 자신의 컴퓨터의 파일 저장소
    2. remote Repository: 서버상의 파일 저장소
  2. Checkout (체크아웃): remote repo 로부터 파일을 복사받는 것
  3. Commit (커밋): 본인의 작업환경으로부터 서버에 파일을 복사하는 것
  4. Branch: 나뭇가지처럼 하나의 프로젝트로부터 뻗어나와서 접근할 수 있는 개발라인이다. 가장 메인 개발라인은 Master branch이며 바로 master라인을 수정하는 것 보다 branch로 복사한 뒤 수정, 기능 추가 등을 하는것이 안전하다.
  5. Merge (병합): 따로 개발한 branch를 다시 Master branch에 병합시킬 수 있다.
  6. Push: git 에서 local repository를 remote repository로 복사
  7. Pull: Push 와 반대로 remote repository 에서 local repository로 복사

마무리

사실 버전관리에 대한 두꺼운 책도 있고, 생각보다 버전관리는 어렵고 복잡한 개념이다. 일단 git 에서의 버전관리에 대해 개념만 잡고 넘어가고, 필요할때 다시 공부해서 수정할 예정
다음 포스팅에서는 git 명령어를 정리해볼 예정입니다.

댓글 남기기

Close Menu