본문 바로가기
Front-end

Github | 로컬 브랜치 생성 및 원격 저장소 push

by suyeonnie 2024. 12. 19.

팀 프로젝트 때 로컬에서 만든 브랜치가 깃허브 브랜치 목록에서 보이지 않아서 식은땀 났던 경험에 대한 글이다.

 

1 로컬 브랜치 생성 후 원격 저장소로 푸시하기

git branch // 현재 (로컬) 브랜치 확인

git switch -c <브랜치명> // 로컬 브랜치 생성 + 전환

git push -u origin <브랜치명> // 원격 저장소로 푸시

 

  • `-u` 옵션 : 로컬 브랜치와 원격 브랜치를 추적관계로 설정한다. 이후에는 git push와 git pull 만으로 자동으로 동기화 가능!
  • `origin` : Git에서 원격 저장소의 기본 이름. 

이렇게 만들자마자 푸시해주면, 팀원들도 GitHub에서 생성된 브랜치를 바로 확인할 수 있어 협업이 편리해진다. 다음으로 이어지는 2번 상황은 마지막 줄 (원격 저장소로 푸시)를 하지 않아서 일어나는 문제 상황과 해결법이다.

 

더보기 > origin의 역할

더보기

Origin의 역할

 

원격 저장소를 로컬로 clone하거나, 새로운 git 원격 저장소를 추가할 때 기본 이름으로 사용된다. 즉, 로컬 저장소와 원격 저장소를 연결하는 역할을 한다.

 

원격 저장소의 URL 대신 Origin이라는 간단한 이름을 사용해서 명령어를 짧게 입력 할 수 있다. Origin은 실제로는 원격 저장소의 URL (예: https://github.com/username/repository.git ) 나타낸다.

 

2 로컬 브랜치를 원격 저장소에 푸시하는 법

 

로컬에서 `fe/login` 브랜치가 존재하지만 GitHub 원격 저장소에서 보이지 않는 이유는 로컬 브랜치를 원격 저장소로 푸시하지 않았기 때문이다. 

내가 만든 브랜치가 없...다?! (등 뒤로 식은땀 주르륵)

 

git branch // 현재 브랜치 확인
git push -u origin fe/login //로컬 브랜치 원격 저장소로 푸시
git remote -v // 로컬과 원격 브랜치 연결 확인

 

1번에서 기술하였듯이, Origin은 원격 저장소의 이름이며, -u 옵션은 로컬 브랜치와 원격 브랜치를 연결(추적)한다. 

 

참고로 git branch 는 로컬 브랜치만 표시하며, GitHub(원격 저장소)에 브랜치를 푸시하지 않으면, GitHub  브랜치 목록에 나타나지 않는다. 그러니까... 처음부터 1번 과정을 잘 했다면 이런 문제가 발생하지 않는다. 🥲

 

명령어 출력 예시

 

 

깃허브 브랜치 목록 ta-da ✨✨

 

이제 깃허브에서도 내가 만든 브랜치가 보인다.