Git 교과서

코드 이력, 하나도 놓치지 마라!

버전 관리 시스템의 이해와 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지
깃, 소스트리, 깃허브로 실습하며 기본기를 탄탄하게 다진다!

Yes24 교보문고 알라딘 인터파크 길벗

실습 준비


깃은 기본적으로 master 브랜치를 하나 가지고 있습니다. 그리고 브랜치는 HEAD 포인터를 가지고 있습니다. 실습으로 구체적인 브랜치 작업과 HEAD 동작을 알아보겠습니다.

Note: 이 장의 실습 예제는 깃허브 저장소에 공개되어 있습니다. 실습 흐름을 확인할 때 참고합니다.

https://github.com/jinygit/gitstudy06


저장소 생성 및 초기화


브랜치 실습을 위한 환경을 구축합니다.

$ cd 메인폴더
$ mkdir gitstudy06

$ cd gitstudy06
infoh@DESKTOP MINGW64 /e/gitstudy06

$ git init ☜ 저장소를 초기화합니다.
Initialized empty Git repository in E:/gitstudy06/.git/

깃 배시에서 초기화 명령어를 실행합니다. 저장소가 초기화되면 다음과 같이 터미널 프롬프트 창에 현재 브랜치 이름이 같이 출력됩니다.

infoh@DESKTOP MINGW64 /e/gitstudy06 (master)

현재 브랜치가 master라는 것을 확인할 수 있습니다. 깃 배시는 리눅스 명령을 사용할 수 있고, 현재 브랜치의 작업 위치도 쉽게 알 수 있습니다.


기본 브랜치


모든 커밋과 이력은 브랜치에 기록됩니다. 깃은 최소한 브랜치가 1개 이상 필요합니다. 따라서 저장소를 처음 초기화하면 master 브랜치 하나가 자동으로 생성됩니다. 첫 번째 커밋은 master 브랜치에서 시작합니다. 초기화한 후에 status 명령어를 실행해 봅시다.

infoh@DESKTOP MINGW64 /e/gitstudy06 (master)
$ git status 
On branch master ☜ 브랜치 작업 위치
No commits yet
nothing to commit (create/copy files and use "git add" to track)

status 명령어의 출력 결과 메시지에서 “On branch master”를 확인할 수 있습니다. 깃에서는 항상 현재 작업하는 브랜치 위치를 확인하는 것이 중요합니다.

또는 branch 명령어로 현재 브랜치를 확인할 수 있습니다.

infoh@DESKTOP MINGW64 /e/gitstudy06 (master)
$ git branch
* master

branch 명령어는 생성된 모든 브랜치를 출력합니다. 앞 코드에서는 master라는 이름의 브랜치가 하나 출력되었습니다. 깃에서 기본적으로 선택되는 브랜치는 master입니다. 하지만 꼭 기본값인 master 이름을 그대로 사용할 필요는 없습니다. 통상적으로 깃이 master 브랜치를 자동으로 생성하기 때문에 이를 그대로 많이 사용할 뿐입니다.