GIT

2022. 8. 11. 13:35기타

GIT

깃 GIT
컴퓨터 파일 의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.

  • 목적
    • SW개발에서 소스코드 관리에 사용됨
    • 파일의 변경사항을 지속적으로 추적함- 로컬저장소
    • 분산 버전 관리 시스템

왜 사용 할까??? WHY WE USE


  • 특이한 옷을 판매하는 패션브랜드 회사에서 본래의 홈페이지를 갈아업고 자기만의 색깔을 가진 홈페이지를 제작할 예정이다.
  • 이때 투입되는 팀은 디자인팀 3명 프론트개발 2팀 서버개발 2팀 이다.
  • 만들어질 프로젝트는 1개 인데 개발하는 사람은 총 10명 남짓.. 모두가 개발을 시작해야하는 상황에서 앞으로의 소스코드 관리는 어떻게 해야할까 ??

→ 정답은 GIT

깃의 특징

Distributed Development 분산 개발

버전 관리 시스템

개발 내역 확인1

 

개발 내역 확인2

  1. 각 파일이나 프로젝트를 이전으로 되돌릴 수 있다.
  2. 시간에 따라 수정 내용을 비교할 수 있다,
  3. 누가 언제 문제를 일으켰는지 추적이 가능하다.

소스 코드 변경 내역 확인

버전 관리가 필요한 이유

  • 전체 개발 소스를 공유하면서 개발 파트를 나누기 수월하다
  • 같은 모듈을 개발하더라도 소스를 서로 공유하며 개발할 수 있다.
    • → 협업을 할때 필수~
  • 원할 때 예전 버전 내용 전체를 되돌려 볼 수 있으며, 이전 버전을 바로 불러 와서 비교할 수 있다.

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