-
-
파이썬 코드로 배우는 Git & Github
유광명 지음 / 영진.com(영진닷컴) / 2022년 12월
평점 :
혼자서 개발을 하는 경우도 있지만 보통 협업을 통해 개발을 합니다.
예전에는 CVS, SVN 등을 통해 협업을 했습니다. 요즘은 거진 git으로 협업을 합니다.
이것을 형상관리라고 부릅니다. 형상관리는 소프트웨어 개발 프로세스 각 단계에서 소프트웨어의 변경 점을 체계적으로 추적하고 관리하는 활동입니다.
git 저장소는 세 가지 작업 영역으로 운영되고 있습니다.
1) Working Directory
- 이력 관리 대상 파일들이 위치하는 영역
- 저장소 디렉토리에서 .git폴더를 제외한 공간
- 작업 중인 파일이나 코드가 저장되는 공간
2) Staging Area
- 이력을 기록할, 즉 커밋을 진행할 대상 파일들이 위치하는 영역
- .git폴더 하위에 파일형태로 존재(index)
3) Git Directory(Repository)
- 이력이 기록된 파일들이 위치하는 영역
- .git폴더에 이력 관리를 위한 모든 정보가 저장, 관리됨.
책에서는 github 및 소스트리를 활용해서 셋팅을 진행하고 있습니다.
원격저장소(github)와 로컬 저장소(개인 PC)로 구분할 수 있습니다.
소스트리로 로컬저장소를 생성하면 크게 3가지 방법이 있습니다.
Clone : 원격저장소의 내용을 복제해서 생성하기
Create : 개인PC에만 로컬저장소 생성하기
Add : 개인 PC에 이미 존재하는 로컬저장소를 소스트리 인터페이스에 추가하기
이렇게 셋팅이 되면 로컬 저장소에서 이력관리를 진행할 수 있습니다.
기존파일 수정 또는 새파일 추가를하면 스테지에 올리는 단계를 거치게 됩니다.
그 다음에 메시지를 입력하고 커밋을 하면 원격저장소에 업데이트가 됩니다.
push 및 pull 이 있습니다.
push : 로컬저정소의 내용을 원격저장소로 업로드
pull : 원격저장소의 내용을 로컬저장소로 다운로드
브랜치는 저장소 안에서 독립적으로 존재하는 작업 관리 영역으로, 한 저장소 안에서 여러개의 브랜치를 만들어 서로 다른 작업을 할 수 있습니다.
한 저장소 안에서 기능추가, 디버그, 테스트 등의 작업을 동시에 할 수 있습니다.
브랜치 종류로는 다양하게 사용할 수 있는데 몇가지만 소개하겠습니다.
master : 과거에 배포된 코드 또는 앞으로 배포될 코드가 관리되는 브랜치(원격저장소에서 관리)
develop : 다음에 배포할 프로그램의 개발용 코드를 관리하는 브랜치(원격저장소에서 관리)
feature : 다음 배포에 추가될 기능을 개발하는 브랜치 (로컬저장소에 위치)
release : 기능이 완성된 develop 브랜치의 코드를 병합해서 배포를 준비하는 브랜치
horfix : 기존 배포한 버전에 문제를 해결하기 위한 브랜치
개발을 준비하거나 개발을 하는 분들은 git을 통해서 협업으로 진행되는 프로젝트에서 문제가 되지 않도록 용어 및 상태들을 습득해야 합니다.


