git 명령어(2)

조건호·2024년 4월 12일

git branch & checkout

git branch

main브랜치가 디폴트 브랜치라고 했을 때 팀원들은 모두 각각의 브랜치를 파서 개발을 하기 시작한다.
그래서 main에서 브랜치를 만들고 싶으면 아래와 같은 코드를 쓰면 된다.

git branch feature/main (메인 페이지에 관한 코드가 들어가 있을거라고 예상)

브랜치를 만들 때는 컨벤션이 있다. 원격을 origin이라고 하는 것처럼 기능 개발을 할 때는 앞에 feature/를 써준다.

//기능 개발
feature/login
feature/main

//출시 준비
release-1.3
realse-1.4

//긴급 수정
hotfix-1.2.1

그리고 본인이 만든 브랜치를 확인하고 싶다 그럴때는 git branch라고 터미널에 쳐주면 된다.

git checkout

브랜치를 생성하고 원하는 브랜치로 가고 싶을 때 checkout 명령어를 쓴다

feature/login 브랜치로 가고 싶을때 아래 명령어를 치면 된다.

git checkout feature/login

원격에서 해당 브랜치만 가져오고 싶으면 어떻게 할까?

merge를 하기 전에, 혹은 해당 브랜치가 너무 망가졌을 경우, 다시 작업을 하고 싶을 때 로컬 브랜치를 아예 지우고 원격에 있는 브랜치 코드를 다시 가져와서 쓴다.

위 사진은 main에서 feature/main브랜치를 만들고 원격에 푸쉬만 한 상태이다.

그리고 로컬에 있는 feature/main은 git branch -D feature/main 으로 지워준다. (merge 하기 전이면 소문자 d를 쓰면 된다)

git checkout -b [새_로컬_브랜치_이름] [원격_브랜치_이름]
git checkout -b feature/main-copy origin/feature/main

그럼 원격에 올라간 브랜치를 다 가져오지 않고도 원하는 브랜치만 가져올 수 있다.


git pull & git fetch

git pull

pull 은 원격 저장소로부터 변경 사항을 가져와서 현재 로컬 브랜치와 병합하는 작업을 말한다.

보통 프로젝트를 할 때 default 브랜치가 main이라고 하면 main에서 코드를 건드리지 않고 브랜치를 머지하고 main에서 pull를 땡긴다. 여러명이서 코드를 짜는데 main 브랜치를 건드리면 git도 꼬일 수 있고 conflict가 날 수 있기 때문이다.

그래서 pull 은 로컬 main에서만 쓴다

git pull origin main
원격에 있는 main 브랜치를 병합하겠다 라는 뜻이다.(명령어를 쓰는 경로는 main이여야 한다)

그리고 작업을 하던 브랜치가 있다고 하면 해당 브랜치로 가서 git merge main 을 하면 된다. 이 때 conflict가 나면 해결해 주면 된다.

git fetch

fetch는 원격 저장소에서 최신, 커밋, 브랜치, 태크 등을 로컬 저장소로 가져오지만, 자동으로 현재 작업 중인 브랜치와 병합하지는 않는다.

git pull과 fetch의 차이점

가져온 데이터를 로컬 브랜치와 자동으로 병합하느냐의 여부

profile
주니어 프론트엔드 개발자입니다.

0개의 댓글