먼저, 이 글은 git-scm.com을 읽으면서 배운 것이라는 것을 밝힌다.
branch가 무엇인가??
수정 작업을 하거나, customize 등 branch를 딴다?? 그냥 새로운 소스셋이 생겼다 정도로만 알고 넘어갔었는데.. 정확히 알 필요가 있다.
내가 이해한 것은
'branch는 pointer' 이다.소스가 수정되는 history 상에서의 'stack의 top'과 같은 역할 정도 되겠다.
처음 git initialize 하면 git repository를 만든다.
$ git init
| pic1 |
여기에 수정사항을 하나 추가해보면
$ git add file1 $ git commit
| pic2 |
pic2 처럼 요런 모양이 되는것임. commit을 하면 B가 생성되고 master의 위치가 B로 바뀌었다!
혹시나 'branch에 소스를 저장한다'라고 생각하고 있었다면 이 소스 추가를 보고 '수정사항의 상태를 point 하고 있는 것이 branch이다'로 개념을 바꿔야 한다.
그럼, 여기서 'branch를 딴다'라는 것을 해보자. 사실 branch를 딴다라기 보다 생성한다는 말이 더 정확한 것이라고 생각한다. 예를 들어 B버전이 오류가 있어 수정이 필요하다면, forFix라는 branch를 만들어서 작업을 할 수 있다.
$ git branch -b forFix
| pic3 |
이제 수정 작업을 하여 commit을 만들면,
$ git add file2
$ git commit
| pic4 |
| pic5 |
$ git checkout master
$ git merge forFix
| pic6 |
댓글 없음:
댓글 쓰기