형상관리란? Git이란?

J_Eddy·2022년 3월 13일
0

💡 개발을 진행할때에는 보통 혼자 진행하는 경우보다 팀 단위로 기능별로 파트를 나누어 진행하는 경우가 많다. 이 때 자주 사용하는 툴이 git이다.

형상관리란?

형상관리는 어떠한 임무(프로젝트)를 수행할 때 각자 나눠서 맡은 부분을 진행하게 되는데 이 때 각자가 진행한 업무를 하나의 관리 도구에서 버전별로 관리하는것을 말한다. 다른말로는 버전관리 라고도 부른다. 대표적으로 git과 svn이 있다.

Git vs SVN

1. SVN

  • 저장소가 하나로, 서버에 있다.
  • 개발자가 Commit하면 해당 저장소를 보고 있는 모든 사람에게 공유된다.

2. Git

  • 저장소가 로컬저장소 /원격 저장소로 두개가 존재한다.
  • 로컬PC에서 코드 수정 후 commit시 로컬저장소에 저장된다.
  • 이후 로컬저장소에서 push를 하면 원격저장소에 반영되어 저장된다.
장점단점
SVN 비교적 직관적충돌확률이 높고 에러 발생 시 수정 및 복구가 어려움
GIT에러 발생 시 복구가 용이하고, 처리속도가 빠르다.직관적이지 못하다. (sourceTree, gitHub Deskltop 같은 툴 이용 시 보다 쉽게 사용 가능)

Git

1. Commit

커밋이란 작업한 내용을 로컬저장소에 저장하는 것을 의미한다. 이 떄 작업한 내용, 변경사항에 대한 내용을 간략하게 남길 수 있다.(ex. 회원가입 로직 수정, 로그인 기능 개발..). 커밋 할 때 커밋단위는 프로젝트 혹은 팀마다 다를 수 있다. 기능별로 커밋하는 것을 선호!

2. Push

커밋한 내용이 담겨있는 로컬저장소에서 원격저장소로 올리는 과정이다. SVN은 해당 커밋과 푸시과정이 하나로 통합되어 있다.

3. Pull

Push와는 반대로 원격저장소에 있는 내용을 가져와서 로컬저장소에 저장하는 과정이다.

4. 저장소

앞서 많이 언급된 로컬저장소와 원격저장소가 존재한다. 로컬저장소는 내 pc의 개인 저장소 이고, 원격 저장소에는 공동 작업하는 개발자들이 보고 접근 가능한 저장소이다.

5. Branch

가지라는 뜻으로 목적에 맞게 분기를 하여 작업을 진행한다. 주축이 되는 브랜치를 Master Branch라고 부르며 해당 마스터 브랜치에서 다른 브랜치를 생성하여 작업 후 다시 기존 마스터 브랜치로 merge하게 된다.

6. Merge

분기로 나뉘어진 브랜치중 하나의 브랜치를 다른 브랜치와 합하는 과정이다. 이 때 한 파일을 서로 다르게 수정한 경우 충돌이 일어난다.

 
깃은 공부할게 매우 많은 부분이다. 지속적으로 공부 후 추후에 포스팅 하겠습니다.

profile
논리적으로 사고하고 해결하는 것을 좋아하는 개발자입니다.

0개의 댓글