git branch, merge
Branch?
Branch란 어떤 작업을 독립적으로 수행하기 위한 개념이다. 브랜치란 어떤 작업을 독립적으로 수행하기 위한 개념이다. git에서는 바로 이 branch를 이용해서 다양한 버전관리를 수행할 수 있다. 예를들어 현재 개발을 진행하고 있는 주 프로젝트가 있고 이 프로젝트에 실험적으로 추가해보고자 하는 기능이 있을 수 있다. 하지만 이것을 바로 주코드에 포함시키고 구현해서 하는 것은 다소 부담이 되는 일이다. 왜냐하면 반드시 포함해야하는 기능이 아니라 실험적으로 추가해보고 테스트 해보려는 기능일 뿐인데 이 기능을 메인으로 관리하고 있는 프로젝트에 포함시킨다는 것은 굉장히 부담스러운 일이기 때문이다. 바로 이러한 상황에서 Branch와 Merge를 활용하면 여러가지 버전들을 효율적으로 관리하면서 개발을 진행할 수 있게 된다. 정리해보면 Branch는 프로젝트를 다양한 갈래로 나눠서 서로 독립된 공간에서 서로 다른 방향으로 프로젝트를 관리할 수 있도록 해주고 특정 Branch에서 다른 Branch의 내용을 Meage 함으로서 다른 Branch의 내용을 현재 위치한 Branch에 포함시킬 수 있게 된다. 지금부터 다뤄보려는 명령어는 다음과 같이 branch, checkout, merge 이다.
git branch (branch 명)
(branch 명)을 이름으로 한 새로운 Branch 생성
다음과 같이 git branch 만을 입력하면 현재 생성되어 있는 Branch의 목록을 보게된다. 그리고 현재 위치한 Branch는 다른 색으로 표시되어서 나타난다. 이제 여기서 git branch second를 입력하면 이는 "second 라는 이름의 branch를 생성하라" 라는 의미이다. 이제 여기서 해당 명령을 입력해서 새로운 branch를 생성하고 다시 git branch를 입력해보면 다음과 같이 second라는 이름의 branch가 생성된 것을 확인할 수 있다. 여기서 새롭게 생성한 branch 즉, second는 현재 시점의 master branch가 가진 내용을 그대로 복제해서 생성한다. 그리고 이 이후에 서로 다른 두 branch master, second는 추가되는 내용들에 대해서 서로 독립적으로 유지하게 된다. 서로 내용을 독립적으로 어떻게 유지하는 지는 뒤의 실습관련 글에서 확인하는 것으로 하겠다.
git checkout (branch 명)
현재 위치한 Branch에서 입력한 이름(branch 명)의 다른 Branch로 이동함
그렇다면 위의 master branch에 위치한 상황에서 이전에 새롭게 생성한 second branch로 위치한 branch를 위치하고 싶다면 어떻게 해야할 까? 다음과 같이 git chechout 입력 후 이동하고자 하는 branch 명을 입력해주면 된다. git checkout을 기억할 때에는 "현 위치의 branch를 나와서 해당 이름의 branch로 이동하라"라는 의미로 기억하면 된다.
git merge (branch 명)
현재 위치한 Branch에 (branch 명)의 branch를 가져와서 통합(merge)함
이제 두 branch 사이를 이동해가면서 서로 다른 방향으로 프로젝트를 관리하다가 master에서 관리 중인 프로젝트에 second의 내용을 포함시키고 싶은 상황이라고 가정해보자. 그 때는 다음과 같이 "git merge (내용을 가져오고 싶은 branch 명)" 의 형태를 입력하면 된다.
다음과 같이 "git merge (내용을 가져오고 싶은 branch 명)"을 입력하면 현재 위치한 branch에 "내용을 가져오고 싶은 branch"의 내용을 가져와서 포함시키게 된다. 위의 사례에서는 동일한 파일이 서로 다른 내용을 포함하고 있어 충돌을 일으켜 자동으로 merge가 이루어지지 않은 상황인데 이는 뒤에서 실습사례에서 자세하게 살펴보게 될 것이다. 동일한 파일 간 서로 내용이 달라 충돌이 발생하는 일이 없다면 자동으로 merge가 잘 이루어져서 master branch 안에 정상적으로 파일이 포함되는 모습을 확인할 수 있다. 지금까지 간단하게 git branch, git checkout, git merge를 살펴보았다. 이후에 실습을 수행해보면서 보다 더 자세히 알아볼 수 있도록 하겠다.
'Tools > Git, Github' 카테고리의 다른 글
Git 실습 시나리오 따라해보기(2) (0) | 2021.01.18 |
---|---|
Git 실습 시나리오 따라해보기(1) (0) | 2021.01.17 |
git push - github 사용하기 (0) | 2021.01.15 |
git checkup - 수정한 내용 취소하기 (0) | 2021.01.14 |
git mv - 파일이름 변경하기 (0) | 2021.01.13 |
댓글
이 글 공유하기
다른 글
-
Git 실습 시나리오 따라해보기(2)
Git 실습 시나리오 따라해보기(2)
2021.01.18 -
Git 실습 시나리오 따라해보기(1)
Git 실습 시나리오 따라해보기(1)
2021.01.17 -
git push - github 사용하기
git push - github 사용하기
2021.01.15 -
git checkup - 수정한 내용 취소하기
git checkup - 수정한 내용 취소하기
2021.01.14