본문 바로가기
OPEN 툴

git branch 활용하기

본문

git의 branch는 버전관리라고 생각하면 된다.(로컬에서는 소스상의 버전, 웹에서는 사용자별로도 나뉠수 있다) 

소스를 1.0 버전과 1.1 버전을 나누는 기준이 바로 branch 기능을 이용한 것이다.



23795E4F512DB39B035823_3bjcbqZX7Z


1. 먼저 새로운 branch를 생성하는 방법이다. 명령어는  git branch 으로 new_branch 를 생성해 보았다.

$git branch new_branch


그리고 모든 branch의 확인은 git branch -a 을 하면 현재 생성된 모든 branch를 확인할수 있으며 현재 활성화된 branch는 아이디앞에 별 모양이 표시 된다.(물론 사용중인 폴더 마지막에 (branch이름)으로 표시된다. 위의 화면에서는 master이 활성화 중이다.)

$git branch -a



2102774650FF7EC51A9475_CX2glVXOlbMoJe


현재의 상태를 간략하게 그린 그림입니다. 

branch는 master과 new_branch 가 존재 하며 master 로 text 까지 작업했던 도중 new_branch를 생성했다. 

이에 new_branch에도 text가 존재 하게 되었습니다.



26707A4E512DB3CD061CA9_eChLZ42HKPf


2. 사용중인 branch를 바꾸는 명령어는 git checkout 이다. 새로 생성한 new_branch로 바꿔보았다.

$git checkout new_branch

현재 작업중인 폴더 이름의 옆에도 바뀌었고(~/workspace/git_test (new_branch) 로변경되었다.) 

$git branch -a 명령어로 확인해도 new_branch 앞에 별표 모양이 되었다.




242333505191C82A196C58_TMu9Wd5UC



26628A485191C86B0B4A49_jdP4aWRrmpZrF



3. new_branch 로 파일을 하나 생성하고(test2.txt) 커밋까지 해보았다.

파일 생성후

$git status 

$git add --all

$git commit -m "new_branch commit."




21362F495191C89511D654_qMNFQVBb7mejhu



4. 로그를 보면 앞장에서 했던 커밋로그(first commit.)와 3번에서 했던 커밋로그(new_branch commit.)가 보인다.

$git log



1657AC4D50FF7CC61755C9_TCywZu7cwI5aw


현재 상황은 위의 그림과 같다.

branch는 master과 new_branch 가 존재 하며 master 로 text 까지 작업했던 도중 new_branch를 생성했다. 

이에 new_branch에도 text가 존재 하며, text2를 생성하여 커밋을 날린 상황이된다.




0315F5475191C90C25A8F5_FDyicWdDtLj5DWa



5. branch를 master로 바꿔보았습니다.(new_branch -> master) 그리고 기록된 로그를 보면 하나의 로그밖에 없습니다. 아직 master branch로는 커밋을 한번밖에 하지 않았기 때문입니다.




22595D4E5191C91629DCB1_aY7OIIK3bp58



다시 한번 확인해봤습니다. branch를 master로 변경해 보고 폴더를 확인해봅시다.

해당 폴더에는 test 파일 하나가 존재 합니다.

$git checkout master



266375485191C91E0ECF74_Nc1Ib2yle3ChSCk



branch를 다시 new_branch로 변경해봅니다.

똑같은 폴더인데 폴더에는 new_branch로 커밋했던 test2파일까지 존재 합니다.

$git checkout  new_branch


바로 branch의 변경에 따라 git 에서 자동으로 파일들을 관리하고 있는것을 확인할수 있습니다.




272F664F5191C9520BF8C3_8NUPv8n51Qm



6. 마지막으로 파일 하나를 더 추가해줍니다. branch를 master로 변경한 다음 test3파일을 추가 하였습니다.

파일 test3.txt 추가 후

$git add --all

$git commit -m "master commit"



2666923D50FF7F2022F07F_d29JfHI84Uwu3


branch는 master과 new_branch 가 존재 하며 master 로 text 까지 작업했던 도중 new_branch를 생성했다. 

(1번 작업내용 입니다.)

이에 new_branch에도 text가 존재 하며, text2를 생성하여 커밋을 날린 상황이된다. (4번까지의 작업내용입니다.)

다시 master로 브랜치를 변경한다음 text3을 생성하였습니다.(6번까지의 작업 내용입니다.)


이렇게 함으로써 브랜치 계정별로 각각의 버전을 효율적으로 관리할수 있도록 도와줍니다.

또한 브랜치 끼리의 병합 및 사용자 별 브랜치 까지 효과적인 버전관리를 도와줍니다.

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

페이지 정보

최고관리자 작성일13-05-21 16:27 조회775회 댓글0건

첨부파일

댓글목록

등록된 댓글이 없습니다.

OPEN 툴 목록

게시물 검색

사이트 정보

  • 회사명 주인있소 / 대표 소담
  • 주소 강원도 속초시
  • 사업자 등록번호 123-45-67890
  • 전화 010-2026-0626 / 팩스 없음
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

상단으로