버전 관리 시스템
: 파일의 변화를 기록하여 추후 특정 버전으로 불러올 수 있는 시스템 (백업 및 관리 느낌)
크게 로컬 / 중앙집중형 / 분산형 으로 나눌 수 있다
- 로컬 : 내 컴퓨터에서만 버전 관리
- 중앙집중형 : 서버에서만 버전 관리
- 분산형 : 내 컴퓨터 + 서버에서 버전관리
우리가 배울 Git은 분산형 버전 관리 시스템이다
Git
Git은 스냅샷을 이용해서 버전을 관리하며 committed / nodified / staged 세가지 상태로 관리한다
- committed : 버전 관리를 한 상태
- modified : 수정이 일어난 상태
- staged : 커밋하겠다고 한 상태
git의 작업 흐름
특정 버전을 체크아웃 - 파일 수정 - 스테이징하고 커밋
Git 배우기 주소
https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
명령어
git commit : 커밋 하는 것
git branch : 브랜치를 만드는 것
- branch : 특정 커밋에 대한 참조
- -f : 브랜치를 강제로 옮기는 것
git checkout : 특정 버전(커밋)을 불러오는 것
- -b : 브랜치를 만들고 checkout
git merge : 서로 다른 두개의 커밋을 합쳐서 새로운 커밋을 '생성'하는것
git rebase : 커밋을 복사해 다른 커밋으로 붙여넣는 것
- -i : 인터랙티브 리베이스
git reset : 이전으로 되돌아가는 것
지우려는 곳 HEAD를 두고 reset HEAD~1(올라가려는 부모만큼)
git revert : 특정 커밋의 반대되는 새로운 커밋을 만드는 것
새로운 커밋을 만드려는 부모 커밋에 HEAD를 두고 git revert
git cherry-pick : 원하는 커밋을 복사해서 붙여넣는 것
상대 참조 (relative reference)
HEAD : 현재 작업 중인 버전
^ : 특정 커밋의 부모
^2 , ^3 : 특정 커밋의 두번째 부모, 세번째 부모를 뜻함
~ : 특정 커밋으로부터 어떤 수만큼 떨어진 부모
git tag : 특정 커밋에 어떤 내용을 남기는 것
원격 저장소
git clone : 원격 저장소를 복제하는 것
git fetch : 원격 저장소의 내용을 로컬로 가져오는 것
- 로컬에 없는 커밋을 다운로드 하거나
- 원격 브랜치를 업데이트 함
원격 브랜치 : 원격 저장소의 브랜치를 추적
git pull : git fetch + git merge 를 한번에 시행하는 명령어
git push : 로컬 저장소의 내용을 원격으로 보내는 것
- 원격에 없는 커밋을 업로드 하거나
- 원격 브랜치를 업데이트
'메타버스 1기' 카테고리의 다른 글
4/21 컴퓨터 동작 원리 (0) | 2022.04.21 |
---|---|
4/19 Git 명령어 (0) | 2022.04.19 |
4/15 복습과제 (0) | 2022.04.15 |
4/14 탈출 게임 설명과 업그레이드하기 (0) | 2022.04.14 |
4/13 배열, _getch(), 두 가지 게임 만들기 (0) | 2022.04.14 |