Git branch 이해

버전관리 2015. 2. 21. 00:22

git의 각 브랜치와 head 의 위치 이동에 대해 게임과 비교해 보았다.


git 의 커밋객체는 각 파일에 대한 정보, 그리고 tree 구조를 함께 저장한다. 그리고 이전 커밋이 있을 경우 이전 커밋에 대한 정보도 함께 가지고 있다.

다음 초록색 동그라미는 각각 하나의 커밋객체이다. 게임상 한개의 라운드라고 생각해보자. 그리고 master 라는 플레이어가 있다.


master 플레이어가 현재 3라운드까지 진행한상태이다. (3번의 commit)





그리고 여기서 develop 이라는 플레이어가 들어온다. (develop 브랜치 생성)





이 게임은 자신의 순서에만 행동을 할 수 있다. 현재 턴에 행동가능한 플레이어가 누구인지에 대해 HEAD 라고 표시된다.





develop 플레이어가 자신의 턴에 필요한 행동을 하고 턴을 종료(commit) 한다.





master 플레이어에게 행동권을 넘긴다. (checkout master)




Posted by KENSIN
,