imhamburger 님의 블로그
깃(Git)과 깃허브(Github) - 브랜치(Branch) 이해하기 본문
개발을 할 때, 깃의 브랜치 기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있다.
혹은 혼자 어떤 기능을 만들어 테스트해보고 싶을 때 브랜치(Branch)를 사용하면 유용하다.
(만약 브랜치없이 기능을 만들어 push했는데 해당 기능이 작동되지 않을 때 다시 원상보구시켜야 하는 수고를 거쳐야 한다. 심할 땐 어디서 잘못됐는지도 모를 수 있다...)
Branch를 한국어로 번역하면 '가지'이듯이 메인(Main)으로부터 가지를 뻗어나가 작업을 수행한다. 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다. 그리고 나중에 완료한 브랜치를 메인과 merge할 수 있다. 아니면 어떠한 이유로 내가 만들고 있는 기능이 필요없다면 그냥 브랜치만 없앨 수 있다.
만약 브랜치가 없다면?
내가 모든 작업을 마치고 난 후에야 다른 동료에게 넘겨줄 수 있다.. 그러니 브랜치가 있어 얼마나 작업을 효율적으로 할 수 있는지는 조금만 생각해도 와닿는다.
메인에서 브랜치를 생성하는 방법은 다음과 같다.
git branch {브랜치명}
그리고 해당 브랜치로 전환하는 건, checkout 이란 명령어를 쓰면 된다. "메인에서 체크아웃하고 해당 브랜치로 이동할게~" 라는 뜻이다.
git checkout {브랜치명}
브랜치를 생성하고 해당 브랜치로 전환하는 두 가지 명령을 한꺼번에 처리하고 싶을 땐 아래 명령어를 이용하면 된다.
git checkout -b {브랜치명}
브랜치를 만들고 해당 브랜치에서 작업한 것을 push하는 건 main에서 했던 것과 동일하다.
내가 작업하던 브랜치를 main과 merge하기 전에 꼭! 해야하는 것이 PR이다.
PR은 Pull Request 이며 해석하자면, "제가 코드를 변경하였으니 git pull을 하여 검토부탁드립니다~" 라는 뜻이며 다른 개발자 동료에게 검토 요청을 할 수 있다. 이는 협업을 할 때 효율을 높이는 데 중요한 요소이며 가능한 작은 단위로 나누어 PR을 하는 것이 꼼꼼하게 코드를 체크할 수 있어 좋다. 수정해야할 부분이 생기면 다시 수정하고 PR을 재진행하면 된다.
수정을 다하고 다른 동료들이 모두 OK 하면 MR을 요청한다. MR은 Merge Request 이며 해석하면 "문제없는 코드이니 git merge를 해주세요~" 라는 의미이다. MR 사인을 받아야 비로소 git merge를 수행할 수 있다.
내 마음대로 merge 하면 절대 절대 절대 네버 안된다. 개발에서 커뮤니케이션은 매우 중요한 덕목이다..
'깃(Git)과 깃허브(Github)' 카테고리의 다른 글
깃 푸시 오류 - remove secret from commit(s) or follow this URL to allow the secret (1) | 2024.12.06 |
---|---|
깃(Git)과 깃허브(Github) - 외부서버에서 깃허브에 있는 코드 실행해보기 (0) | 2024.07.11 |
깃(Git)과 깃허브(Github) - amend, push에러 (0) | 2024.07.10 |
깃(Git)과 깃허브(Github) - SSH키를 사용하는 이유 (0) | 2024.07.09 |
깃(Git)과 깃허브(Github) - 브랜치(Branch) (0) | 2024.06.26 |