1. 버전 관리 시스템
1) 클라이언트-서버
하나의 중앙 저장소를 공유한 후 각각의 클라이언트(개발자)는 저장소의 일부분만 갖는 형태
작업하는 부분만 로컬에 임시로 저장한 후 작업하는 형태
ex. CVS: 서버의 저장소에 프로젝트의 온전한 원본이 있고, 클라이언트 각각은 서버에서 파일을 가져다가 로컬 저장소에서 변경한 뒤 변경된 내역을 서버에 다시 보낸다.
2) 분산
프로젝트에 참여하는 모든 클라이언트(개발자)가 전체 저장소에 대한 개별적인 로컬 저장소를 갖고 작업하는 형태
각자가 온전한 전체 저장소의 사본을 로컬에 가지게 된다.
2. 기본 명령어
[로컬에 저장소 생성]
저장소 생성 : git init : 실행한 위치를 Git 저장소로 초기화합니다.
저장소에 파일 추가 : git add 파일이름 : 해당 파일을 Git이 추적할 수 있게 저장소에 추가합니다.
저장소에 수정 내역 제출 : git commit : 변경된 파일을 저장소에 제출합니다.
저장소 상태 확인 : git status : 현재 저장소의 상태를 출력합니다.
[원격 저장소와 Git]
원격 저장소의 내용을 로컬 저장소로 가져오거나, 로컬 저장소를 원격 저장소와 연결하고 보내거나, 수정된 내역을 확인하고 병합한다.
git clone : 원격 저장소의 모든 내용을 로컬 저장소로 복사합니다.
git remote : 로컬 저장소를 특정 원격 저장소와 연결합니다.
git push : 로컬 저장소의 내용을 보내거나 로컬 저장소의 변경 사항을 원격 저장소로 보냅니다.
git fetch : 로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교 대조하고 git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제 등을 해결합니다.
git pull : git remote 명령을 통해 서로 연결된 원격 저장소의 최신 내용을 로컬 저장소로 가져오면서 병합합니다. git push와 반대 성격의 명령어입니다.
3. GitHub
Git 기반의 원격 저장소
- 전 세계에서 진행되는 오픈 소스 프로젝트가 많이 모여 있어 이에 참여하고 오픈 소스에 기여할 수 있는 기회가 있다.
- 개발자는 GitHub를 이용해 자신이 작성했던 코드 그 자체를 곧바로 제공할 수 있다.
- IT 개발과 관련이 많은 디자이너도 여태껏 그려왔던 작품을 포트폴리오로 준비해 이를 공개할 수 있다.
- 기획자 역시 자신이 준비했었던 기획 문서를 공개할 수 있다.
클론: GitHub의 원격 저장소와 내 컴퓨터를 연결해 데이터를 복사하는 작업 (GitHub -> 로컬 환경 복사)
포크: GitHub 안에서 원격 저장소를 복사하는 작업
'Git' 카테고리의 다른 글
[Git] Git Flow 이해하기 - (5) 간단한 계산기 프로그램을 만들어 적용하기 (0) | 2024.10.31 |
---|---|
[Git] Git Flow 이해하기 - (4) Fast-Forward와 --no-ff 옵션 (0) | 2024.10.24 |
[Git] Git Flow 이해하기 - (3) Git Flow 브랜치 생성 및 병합 (5) | 2024.10.23 |
[Git] Git Flow 이해하기 - (2) Git Flow 기본 흐름 (3) | 2024.10.22 |
[Git] Git Flow 이해하기 - (1) 브랜치 (0) | 2024.10.22 |