👩🏻‍💻 TIL

git - branch 사용법

ji-hyun 2021. 11. 10. 17:34

깃(Git) 에서 브랜치(branch) 를 사용하는 방법에 대해서 알아보자.

 

깃(Git) 은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치 기능을 제공한다.

각자 각기의 작업공간에서 작업하므로 서로에게 영향을 주지 않는다는 면에서 서로 다른 개발 작업을 수행할 수 있다.

 

 

 

 

 

브랜치의 기본 동작과정

기본적으로 Git 저장소를 만들면 자동적으로 마스터 브랜치가 생성이 되는데, 이 브랜치는 일반적으로 배포가 가능한 수준의 안정화된 버전을 포함하고 있다. 마스터 브랜치는 항상 안정화되고 배포가 가능한 상태여야 한다.

 

즉, 합치기(Merge) 가 수행되기 전까지는 안정적으로 배포가 이루어지고 있다가, 모든 기능이 합쳐진 이후에 또 다시 배포할 수 있으므로 개발의 안정성이 매우 뛰어나다. 

 

 

 

 

< 브랜치 용어 정리 >

 

  • 통합 브랜치 : 배포가 가능한 수준의 브랜치로 일반적으로 마스터(Master) 브랜치를 의미한다.
  • 토픽 브랜치 : 특정한 기능을 위해 만들어진 브랜치로 일반적으로 마스터(Master) 브랜치 이외의 다른 브랜치를 의미한다.

 

 

 

 

 

 

 

 

브랜치 사용의 대략적인 과정

① git clone

이미 존재하는 프로젝트 url을 복사해서 내 로컬로 가져온다. 

즉, git clone https:// ......(생략)  명령어를 치면 프로젝트가 복사 완료된다.

그리고 그 프로젝트 폴더로 이동(cd) 한다.

 

ls -al -> .git 폴더가 존재함을 알 수 있다. 이것은 git 으로 관리하겠다는 뜻이다.
git clone 하면 자동으로 관리되어진다. (git init 할 필요가 없다는 뜻)

 

 

 

 

 

 

② 마스터 브랜치가 내 컴퓨터(로컬)에 생긴다. 이제 vs code 를 열어서 가져온 그 폴더를 열여준다. 그리고 view 탭을 눌러서 terminal 을 열어준다.

 

 

 

 

 

 

③ terminal 창에서 git branch 명령을 한다.

다시 말하지만, 마스터 브랜치에는 품질 보증이 된 코드가 들어가기 때문에 우리는 독립된 작업공간이 필요하다.

 


 

branch

 

git branch 명령은 branch 생성 및 제거, 확인 등의 기능을 하는 명령어다. 이 중 주요 기능을 하는 branch 명령어들만 살펴보자.

 

 

1. git branch (내가 만들고 싶은 이름)

로컬에 새로운 branch 를 생성한다.

예를 들어, feature/jihyun 이라는 이름의 브랜치를 만드려면.....   git branch feature/jihyun

 

 

 

 

2. git branch [-l]

로컬 branch 정보를 보여준다. (-l 옵션은 생략 가능)

 

 

 

 

master 브랜치 feature/jihyun 브랜치가 존재한다. 여기서 * 표시는 현재 내가 위치하고 있다는 뜻이다.

git branch를 해보면 아직 master 브랜치에서 작업하는 것으로 되어있다. 이동해주어야 한다.  (=> checkout)

 

 

 


 

 

 

④ git checkout feature/jihyun

 

앞에서 우리가 새로 만든 'feature/jihyun' 라는 이름의 브랜치를 사용하여 어떤 작업을 수행하려면, 이 브랜치를 사용 하겠다고 명시적으로 지정해 주어야 한다. 이 때 사용하는 명령어가 바로 checkout 이다. 체크아웃(checkout)이란, 내가 사용할 브랜치를 지정하는 것을 의미한다.

 

 

 

 

 

 

 

 

⑤ 새롭게 생성한 브랜치에 이동한 후에 본인이름의 폴더를 만든다. 그리고 그 해당 폴더에 내가 만들었던 html, js, css 파일을 복붙한다.

 

그리고 다음과 같은 작업을 수행..
git add . 
git commit -m ' '  등등....

 

 

 

 

 

 


⑥ git push orgin feature/login

 

git push는 원격 저장소(remote repository)에 코드 변경분을 업로드하기 위해서 사용하는 Git 명령어이다.

반드시 명시적으로 git push를 날려줘야, 그 동안 로컬 저장소에서 남겨놓은 코드 변경 이력들이 원격 저장소로 전송이 된다.

 

 

 

git push 명령어는 기본적으로 원격 저장소명과 브랜치명을 인자로 받는다.

 

$ git push <저장소명> <브랜치명>

 

 

 

예를 들어, feature/jihyun 라는 브랜치에 남겨놓은 코드 변경 이력을 origin라는 원격 저장소에 올리기 위한 git push 명령어는 다음과 같다.

 

$ git push origin feature/jihyun

 

 

 

원격 저장소명은 git clone을 통해 저장소를 복제를 했다면 일반적으로 origin이며, git remote 명령어를 통해서 정확한 저장소명을 알아낼 수도 있다.

 

$ git remote 
origin

 

 

 

 

성공!

 

 

 

 

 

 


⑦ 이제 PR 을 통해 코드 리뷰가 된다. 수정을 하라는 등 피드백이 오간다. 괜찮으면 merge 가 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'👩🏻‍💻 TIL' 카테고리의 다른 글

2021_11_18_TIL  (0) 2021.11.18
2021_11_14_TIL  (0) 2021.11.14
시멘틱 웹, 시멘틱 태그  (0) 2021.11.03
2021_10_08_TIL  (0) 2021.10.09
2021_09_26_TIL  (0) 2021.09.27