카테고리 없음
[오픈소스] 9주차 - git
뜐🐸
2024. 12. 2. 18:04
버전 관리 시스템 (VCS)
1. 버전 관리 시스템이 제공하는 것
버전 관리 시스템(VCS)은 팀원이 프로젝트의 변경사항을 효과적으로 기록하고 관리할 수 있는 도구이다.
주요 제공 기능
- 모든 팀원이 접근할 수 있는 보관소 (Repository)
- 소프트웨어 변경사항을 기록하는 데이터베이스이다.
- 변경사항을 효율적으로 관리하고 추적할 수 있다.
2. Git의 개요
Git은 리눅스의 창시자인 리누스 토발스(Linus Torvalds) 가 만든 분산형 버전 관리 시스템이다.
Git의 장점
- 기존의 버전 관리 시스템보다 속도가 빠르다.
- 심플한 디자인을 가지고 있다.
- Non-linear development (비선형 개발) 을 지원한다.
- 여러 브랜치를 동시에 개발할 수 있다.
- Fully distributed (완전 분산형)이다.
- 로컬에서도 작업 가능하며 중앙 서버와 독립적으로 운영된다.
- 대규모 프로젝트를 빠르게 처리하고 관리할 수 있다.
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은 중앙 서버가 없어도 각 사용자가 로컬에 전체 저장소를 복제할 수 있다.
- 중앙 서버의 장애가 발생해도 작업이 중단되지 않는다.