티스토리 뷰

*Git Branch란?

독립적으로 어떤 작업을 진행하기 위한 개념으로 repository의 복제본을 만드는 것을 말한다. branch를 사용하면 공동 작업을 할 때 각자 개별적인 저장소 안에서 작업을 동시에 진행할 수 있고 나중에 원래 버전과 비교해서 새로운 버전을 만들 수 있다.

출처: Git Beginner's Guide for Dummies

 

이번 글에서는 remote repository에는 master branch 하나만 두고 local에서 branch를 나누어 작업하는 방법을 알아보겠다.

 

*Branch 생성 & 전환하기

우선 먼저 만들어 두었던 git repository를 clone 명령을 통해 가져오도록 한다. 아니면 기존에 만들어 두었던 프로젝트에 git repository 설정을 해주어도 된다. (이전 글 참고)

git clone YOUR-REMOTE-REPOSITORY-URL

이전에 만들어 두었던 repository를 가져온 것인데 이곳에는 "# Test"라고 쓰여진 README.md 파일이 들어있다. git repository 프로젝트를 가지고 왔다면 해당 디렉토리에서 터미널을 연다.

$ git branch
*master

위 명령어를 통해 먼저 branch 목록을 확인할 수 있다. 현재는 master branch만 존재한다.

$ git branch YOUR-BRANCH-NAME
예) git branch dev-mac

git branch 명령어 뒤에 만들고자 하는 branch 이름을 적으면 branch를 생성할 수 있다. 다시 git branch 명령으로 branch 목록을 보면 새로운 브랜치가 생긴 것을 알 수 있다.

$ git checkout YOUR-BRANCH-NAME

git checkout 명령어를 사용하면 해당 branch로 이동할 수 있다. 

git checkout -b YOUR-BRANCH-NAME

위 명령어를 사용하면 branch를 생성하면서 동시에 해당 branch로 이동할 수 있다. branch를 이동하고 git branch로 목록을 보면 현재 branch 앞에 *가 되어 branch가 이동했음을 알 수 있다.

 

*Branch 병합하기

branch를 이동했다면 해당 branch에서 파일을 수정하는 작업을 한다.

$ vi README.md

[README.md 파일 수정]
(1) i를 눌러 --INSERT-- 상태가 되면 텍스트 수정
(2) 수정이 끝나면 esc 키를 눌러 수정 종료
(3) :wq를 입력하여 저장하고 에디터를 종료

$ git add README.md
$ git commit -m "YOUR-COMMENT"

작업을 진행하고 나면 다음과 같이 README.md 파일이 변경된 것을 확인할 수 있다.

이제 다시 master branch로 돌아가보겠다. git checkout master 명령어를 입력해서 branch를 이동해서 README.md 파일을 확인해보면 변경 사항이 적용되지 않은 것을 볼 수 있다.

이전 branch에서 작업한 내용을 master branch에 반영하기 위해서는 merge라는 명령어를 사용하게 된다. 먼저 master branch로 이동한 상태에서 다음과 같은 명령을 실행한다.

$ git merge FROM-BRANCH-NAME
예) git merge dev-mac

이제 master branch에도 반영이 되었다면 README.md 파일의 변경 사항이 추가된 것을 확인할 수 있다. 지금까지 내용을 도식으로 보면 다음과 같다. HEAD는 현재 작업 중인 branch를 의미한다.

 

*Remote Repository에 push하기

Local Repository에서 생성한 새로운 branch를 Remote Repository에 반영하지 않고 그냥 master에 병합된 내용을 반영해보도록 하겠다.

$ git push -u origin master

위 명령어를 통해 Remote Repository에 저장하고 내용을 확인한다. commits도 꼭 확인하는 것이 좋다.

Local Repository에서 만든 dev-mac이라는 branch를 반영한 것이 아니기 때문에 Remote Repository에는 여전히 master branch만 존재한다. 다음 번에는 Remote Repository에도 새로운 branch를 반영하는 것을 살펴보겠다.

 

*Branch 제거하기

생성했던 branch를 제거하는 방법은 다음과 같은 명령어를 사용한다.

$ git branch -d YOUR-BRANCH-NAME

git branch 명령어로 목록을 확인해 보면 해당 branch가 삭제된 것을 확인할 수 있다.


! 주의할 사항

작업한 내용을 commit 하기 전에 항상 Remote Repository의 최신 버전이 Local Repository 버전과 맞는지 확인하는 것이 중요하다! git pull 명령어를 통해 가장 최신 버전을 가져온 후 commit을 수행하는 것이 충돌을 줄일 수 있는 방법이다. 

$ git pull
$ git pull origin REMOTE-BRANCH-NAME (origin repository의 특정 branch의 최신 버전을 가져오기)

 

하지만 충돌이 발생한다고 해도 보고 수정할 수 있으니 너무 걱정은 하지 말기로 하자!

 

(Git을 사용한지 얼마 되지 않아 그냥 혼자 개념 정리하는 식으로 작성해 본다... 부족한 부분들은 익숙해지면서 차근차근 수정해 보기로 하자...!!)

'기타' 카테고리의 다른 글

[Gitlab] ssh key 생성 및 등록  (0) 2022.03.01
Docker 기본 명령어  (0) 2022.02.12
[Docker] MySQL Docker로 띄우기 및 접속  (0) 2022.01.12
Github 사용하기 - 동시에 여러 작업 진행  (0) 2020.03.07
Github 사용하기  (0) 2020.03.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함