[Github] branch 생성 후 업로드하기

나영·2023년 4월 23일
post-thumbnail

Git 브랜치란 ?

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 깃에서는 각각의 브랜치가 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.

그렇다면 브랜치를 나눠서 개발하는 이유는 뭘까?
여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 work-flow, 즉 git-flow 브랜치 전략 을 위해서이다. 이를 통해 원활한 협업을 이룰 수 있다.

하지만 꼭 협업이 아니더라도 개인 프로젝트에서 구현할 기능이 많을 때도 각 기능별 브랜치를 나눠서 개발하기도 한다.

그렇다면 자유자재로 깃 브랜치를 활용하는 방법을 알아보자. 🤗

브랜치 생성

우선 원하는 브랜치로 이동하는 명령어는 다음과 같다.

git checkout [브랜치명] 
    

원하는 브랜치를 생성하고 바로 이동하는 명령어는 다음과 같다.

git checkout -b [브랜치명]

이제 생성된 브랜치는 로컬저장소 즉, 내 컴퓨터에 만들어진 것이다.
(⚠️ 아직 깃허브에는 없는 상태)

이것을 명령어로 확인해보자면,

git branch -r : 원격저장소 (깃허브) 브랜치 상태 확인
git branch -a : 로컬저장소 (내 컴퓨터) 브랜치 상태 확인

그러면 녹색으로 로컬저장소에 새로 생성된 브랜치명이 표시될 것이다.

로컬저장소와 원격저장소 브랜치 연결

깃허브에 해당 브랜치로 업로드하기 위해 로컬과 깃허브를 연결해보자.

git branch --set-upstream-to origin/main

이제 변경사항이 있으면 fetch 명령어를 통해 깃허브의 변경사항을 로컬저장소로 불러올 수 있는 것이다.
(⚠️ 변경사항 무시하고 작업물 올리면 충돌 위험 있음 ..!)

새 브랜치로 업로드

이제 변경사항을 로컬저장소의 깃에 add -> commit 해준다.
그 다음 push는 다음 명령어를 통해 진행한다. 로컬의 깃 브랜치를 원격저장소 깃에 올리는 과정이다.

git push origin [브랜치명]

이렇게 하면 깃허브에도 방금 생성한 '브랜치명' 의 브랜치가 생기는 것을 볼 수 있다.

그렇다면 최종적으로 업로드하고자 했던 부분을 깃허브 main 브랜치에 합쳐보자.

git merge origin/[브랜치명]
git push

이제 최종적으로 로컬에서 추가했던 내용이 깃허브 main 브랜치에 합쳐진 것을 확인할 수 있다 !! 🤧

👀 번외

브랜치 삭제 명령어 : git branch -d [브랜치명]