브랜치를 사용하는 이유

우리가 진행중인 프로젝트(opentutorials_git)를 하면서 동시에, 불확실하고 실험적인 작업을 동시에 진행할 수 있다.

만약 브랜치를 사용하지 않는다면, 실험적인 작업이 취소되었을 때, 이전버전으로 돌아가도 되지만, 그 부분만 도려내야하는데, 쉽지않다.

폴더를 복사해서 실험적인 작업을 진행할 수 있지만, 완료되었을 때, 원본에 붙혀넣기가 쉽지않다.

이 때, 우리는 브랜치를 사용할 수 있다.
브랜치를 통해서, 마치 2개의 폴더로 나눈 뒤, 각각 따로 작업하는 것과 같은 효과를 내면서 동시에 작업 완료후 실험적인 작업에서 변경된 내용을 원본소스에 간편하게 병합해줄 수 있다.


브랜치 만들기

index.html 파일에 대해, 일상적인 업무실험적인 업무가 있다고 치자.

일상적인 업무는 html코드에 ul태그를 넣는 것.
실험적인 업무는 head태그를 넣는것이라고 가정하자.

우리는 브랜치를 이용해서,
마치 프로젝트폴더를 2개로 복사한 다음, 하나의 프로젝트에서는 ul태그를, 다른 하나의 프로젝트에서는 head태그를 넣는 것처럼 사용해보자.

좌측메뉴의 Branches에는 master라는 현재 브랜치가 표시되어있다.
(기존 default로 만들어진 브랜치 이름이 master일뿐 바꿀 수 있다.)

  • 브랜치를 만들어보자.
    상단의 [ Branch ] 버튼을 누른 뒤, <실험>이라는 New Branch를 만들어보자.
    image
    image
    image

  • master인 상태에서, ul태그만 추가해서 commit해주자.
    image

    이제 ul태그안에 li태그를 추가해서 하나마다 버전을 나누어서 commit해주자.
    image


    위 그림을 보면, 실험branch는 뒤쳐져져있는 것을 확인할 수 있다.


  • 이제 [실험]브랜치를 더블클릭해보자. 이 때, 타임라인의 실험브랜치가 적힌 버전을 확인해주자.
    index.html파일를 확인해보자. ul태그랑 li태그가 사라져있다.

    image

  • 이제 이 상태에서, 실험적인 업무인 head태그를 넣어주고, commit해보자.

    image
    image

    타임라인의 그래프를 보자.
    [master]에서 commit한 3개의 버전은 분홍색으로 가고 있다.
    [실험]에서는 해당 버전의 프로젝트(h1태그 추가)로 돌아간 다음 --> head태그 추가 버전으로 파란색으로 가고 있다.
    *** (실험)head태그추가 와 (master) ul태그 추가의  부모는  둘다 동일하게   h1태그 추가인 것을 확인해두자.
    *** 추가한 브랜치 수만큼, [ 만들어준 시점에서 프로젝트를 복사해둔 효과 ] 가 난다는 것을 알 수 있다.
    my) 실제 윈도우 폴더에서 접근했을 때, 같은 파일이라도, 소스트리의 브랜치 선택상태에 따라 다른상태로 열린다.
    image
    image


  • 서브라임텍스트에서도 브랜치를 바꿀때마다, 같은파일의 내용이 변경되는 것을 확인할 수 있다.

    image
    image

+ Recent posts