"우리 변경 사항(=버전)을 조금 더 일목요연하게 관리해보자!"
버전: 유의미한 변화가 결과물로 나온 것
깃을 활용한 프로그램 개발 == 유의미한 변화를 쌓아 프로그램을 만들어나가는 \
변경 내역들을 기억하며
필요하다면 작업들을 되돌리며
협력하는 것
깃허브(GitHub): 원격 저장소 호스팅 서비스 / 개발자들의 SNS
깃이 관리하는 3개의 공간
1) 작업 디렉터리(워킹 트리): 버전 관리의 대상이 위치하는 공간
2) 스테이지(인덱스): 다음 버전이 될 후보가 올라가는 공간. 작업 디렉토리에서 버전으로 변경하고 싶은 사항만 스테이지로!
- 스테이지에 추가한다 == 스테이지에 애드한다
- 스테이지에서 저장소로 반영하는 것 == 커밋한다
3) 저장소: 버전이 쌓이는 곳. 저장소에 버전이 반영되면 작업 디렉터리와 스테이지의 사항들은 사라지게 된다.
(스테이지와 저장소는 가상의 공간)
내 컴퓨터 내에 존재하는 저장소(로컬 저장소)에서 git을 조작하는 명령어들
git init (로컬 저장소 생성)
touch a.txt (파일 생성)
git add a.txt (스테이지에 애드)
git status (파일 상태 확인)
git commit -m "a.txt 생성" (커밋 메세지)
git log (커밋 로그 확인)
최초의 브랜치: master 브랜치 (최근에는 main 브랜치라는 용어로 대체)
체크아웃(checkout): 특정 브랜치에서 작업할 수 있도록 작업환경을 바꿔주는 것
git branch (현재 브랜치를 확인, *라고 표시된 곳이 나의 체크아웃 위치)
git branch 이름 (새로운 브랜치 만들기)
git checkout 이름 (특정 브랜치에 체크아웃하기)
git checkout -b 이름 (새로운 브랜치 만들고 동시에 체크아웃하기)
git branch -D 이름 (브랜치 지우기)
git checkout 병합의 기준이 되는 브랜치 이름
git merge 병합을 당하는 브랜치 이름