카테고리 없음

[오픈소스] 9주차 - git

뜐🐸 2024. 12. 2. 18:04

버전 관리 시스템 (VCS)


1. 버전 관리 시스템이 제공하는 것

   버전 관리 시스템(VCS)은 팀원이 프로젝트의 변경사항을 효과적으로 기록하고 관리할 수 있는 도구이다.

주요 제공 기능

  1. 모든 팀원이 접근할 수 있는 보관소 (Repository)
    • 소프트웨어 변경사항을 기록하는 데이터베이스이다.
    • 변경사항을 효율적으로 관리하고 추적할 수 있다.

2. Git의 개요

   Git은 리눅스의 창시자인 리누스 토발스(Linus Torvalds) 가 만든 분산형 버전 관리 시스템이다.

   Git의 장점

  1. 기존의 버전 관리 시스템보다 속도가 빠르다.
  2. 심플한 디자인을 가지고 있다.
  3. Non-linear development (비선형 개발) 을 지원한다.
    • 여러 브랜치를 동시에 개발할 수 있다.
  4. Fully distributed (완전 분산형)이다.
    • 로컬에서도 작업 가능하며 중앙 서버와 독립적으로 운영된다.
  5. 대규모 프로젝트를 빠르게 처리하고 관리할 수 있다.

3. Git과 기존 버전 관리 시스템 비교

Git의 특징 기존 버전 관리 시스템
분산형(Distributed) 중앙 집중형(Centralized)
빠른 속도 상대적으로 느린 속도
동시 브랜치 개발 가능 동시 개발 제약
로컬에서 기록 관리 가능 항상 중앙 서버에 연결 필요

4. Git 명령어 실습

   1) git add

  • 특정 파일을 Staging Area로 추가한다.
  • 사용법:
  • git add <파일이름>

   2) git checkout

  • 브랜치를 변경하거나 특정 커밋으로 이동한다.
  • 예제:
  • git checkout master

   3) git merge

  • 브랜치를 병합한다.
  • 예제:
    git merge <병합할 브랜치>

   4) git branch -d

  • 브랜치를 삭제한다.
  • 예제:
  • git branch -d experiment

5. 기타 실습

  • Thread 실습 다시 학습하기
    Git과 관련된 작업을 병렬적으로 관리하는 기능(Thread) 실습 복습하자.

보충 설명

1. Staging Area란?

  • 커밋하기 전에 파일을 임시로 저장하는 공간이다.
  • git add 명령어로 추가된 변경사항은 Staging Area에 저장된다.

2. 브랜치란?

  • 동일한 프로젝트에서 독립적으로 작업할 수 있는 별도의 라인이다.
  • 브랜치를 사용하면 충돌 없이 여러 기능을 동시에 개발할 수 있다.

3. Git이 Fully Distributed인 이유

  • Git은 중앙 서버가 없어도 각 사용자가 로컬에 전체 저장소를 복제할 수 있다.
  • 중앙 서버의 장애가 발생해도 작업이 중단되지 않는다.