GIT
2022. 8. 11. 13:35ㆍ기타
GIT
깃 GIT
은 컴퓨터 파일 의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.
- 목적
- SW개발에서 소스코드 관리에 사용됨
- 파일의 변경사항을 지속적으로 추적함- 로컬저장소
- 분산 버전 관리 시스템
왜 사용 할까??? WHY WE USE
- 특이한 옷을 판매하는 패션브랜드 회사에서 본래의 홈페이지를 갈아업고 자기만의 색깔을 가진 홈페이지를 제작할 예정이다.
- 이때 투입되는 팀은 디자인팀 3명 프론트개발 2팀 서버개발 2팀 이다.
- 만들어질 프로젝트는 1개 인데 개발하는 사람은 총 10명 남짓.. 모두가 개발을 시작해야하는 상황에서 앞으로의 소스코드 관리는 어떻게 해야할까 ??
→ 정답은 GIT
깃의 특징
Distributed Development 분산 개발
버전 관리 시스템
- 각 파일이나 프로젝트를 이전으로 되돌릴 수 있다.
- 시간에 따라 수정 내용을 비교할 수 있다,
- 누가 언제 문제를 일으켰는지 추적이 가능하다.
버전 관리가 필요한 이유
- 전체 개발 소스를 공유하면서 개발 파트를 나누기 수월하다
- 같은 모듈을 개발하더라도 소스를 서로 공유하며 개발할 수 있다.
- → 협업을 할때 필수~
- 원할 때 예전 버전 내용 전체를 되돌려 볼 수 있으며, 이전 버전을 바로 불러 와서 비교할 수 있다.
Distributed Version Control System 분산버전관리시스템
- 중앙 서버 (git 서버) 에서 Repository (저장소) 를 만들어서 프로젝트를 업로드 한다.
- Repo를 개발자 개개인의 로컬 저장소 (개인 컴퓨터 ) Clone 하여 개발을 진행할 수 있다.
- 개발한 소스코드를 저장소에 Merge 한다.
Feature Branch Workflow
vsCode plugin - Git Graph
- Branch (분기)를 파는것이 가능함
- 잘돌아가고 있는 홈페이지에 새로운 요구사항이 들어왔을 때
- 그 프로젝트 소스파일에 직접 개발을 진행하는 것이 아니라.
- 안정적으로 소스코드를 편집하기 위해 사용
- 조직적 이점을 제공한다.
- Branch를 만들어서 기능개발 → 서버랑 연동 → 테스트 진행 → 베타 버전 실시 → 기능 병합해서 출시로 진행한다.
- 프로젝트에서 To-do를 더욱 새밀하게 나눌 수 있어서 협업을 할 때 필수적인 기능이다.
Pull Requests
- 그렇다면 내가 개발한 소스코드를 병합했을 때, 다른 개발자들은 어떻게 하나요??
- 원격저장소에 push한 나의 소스코드를 다른 개발자들이 갱신하려면 Pull을 사용
- git pull ⇒ fetch(받아지고) + merge(병합됨)
- 이때 내가 개발했던 코드와 본래 개발한 코드가 충돌(Conflict)을 일으킬 수 있는데 이때는 직접 수정해서 병합이 가능하도록 해야함
'기타' 카테고리의 다른 글
우아한테크코스 5기 프리코스 회고 (0) | 2023.02.07 |
---|