새 브랜치를 생성하면 포인터만 있는 브랜치가 생성됩니다. 일반적으로 브랜치 생성 명령을 실행하면 현재 커밋을 가리키는 HEAD를 기준으로 생성됩니다. HEAD는 현재 마지막 커밋을 가리킵니다.
브랜치는 마지막 커밋 위치를 가리키는 역할만 할 뿐 실제 브랜치는 아닙니다. 그렇다면 실제 브랜치는 언제 만들까요? 일반적으로 실제 커밋이 추가될 때 만듭니다.
예를 들어 브랜치를 생성한 후 생성된 브랜치로 이동합니다. 이동한 브랜치에서 파일을 수정하고 커밋합니다. 그리고 새로운 브랜치에 추가 커밋이 발생할 때, 브랜치는 새로운 커밋으로 브랜치의 포인터를 이동합니다. 즉, 브랜치는 실제 커밋이 추가될 때 만듭니다.
새롭게 브랜치가 생성되면 독립된 공간을 할당합니다. 기존 작업 영역에는 영향을 주지 않는 새로운 가상 공간입니다. 이것으로 기존 브랜치의 소스 코드에 영향을 주지 않고 새로운 작업을 할 수 있습니다.