일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 라우팅
- ARP
- 리스트
- 파이썬 자료형
- CS
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- GIT
- IT5분잡학사전
- 컴퓨터네트워크
- 기억장치
- 데이터통신
- 자료형
- data type
- 노마드코더
- sort()
- 파이썬 연산자
- 시스템 소프트웨어
- 컴퓨터 동작방식
- 이코테
- OSI7계층모델
- 이것이 취업을 위한 코딩 테스트다
- 이것이 취업을 위한 코딩테스트다
- DP
- 파이썬 정렬
- 노개북
- RARP
- 북클럽
- 쿠키
- icmp
- 데이터 통신과 컴퓨터 네트워크
- Today
- Total
뚝딱햄 탈출기
[Git] 로컬 저장소에 원격 브랜치 가져오기, 브랜치 전환/생성/삭제/조회 본문
📌 vs code에서 브랜치를 생성 / 삭제 / 전환 / 조회하는 방법은?
vs code에서 github repository를 git clone한 후 local repository에서 작업하며 사용한 명령어들을 정리해보았다.
브랜치 목록 보기
원격 브랜치와 로컬 브랜치는 별개의 브랜치이기 때문에, 목록을 확인하기 위한 명령어가 다르다.
git branch # 로컬 브랜치 확인
git remote update # 원격 브랜치 정보 업데이트
git branch -r # 원격 브랜치 확인
git branch -a # 전체 브랜치 확인 (로컬, 원격)
github에서 삭제한 브랜치가 조회된다면?
간혹 원격 브랜치를 삭제했을 때, 로컬에서 여전히 조회될 때가 있다.
나의 경우에는, github에서 이미 삭제한 브랜치가 git branch -a 명령어를 입력했을 때 조회되었다.
이는 로컬 Git 저장소에 캐시된 원격 브랜치 정보가 최신 상태로 동기화되지 않았기 때문이다.
아래 명령어를 통해 원격 브랜치 목록을 최신 상태로 업데이트하면 문제가 해결된다!
git fetch -p
git fetch --prune
브랜치 전환
나는 이제 FE_feature_hyerim 브랜치에서의 작업을 마치고 타 브랜치에서 작업을 하려 한다.
원격 브랜치인 origin/BE_feature 에서 작업하려면?
내 로컬에 없는 원격 저장소의 브랜치에서 작업하려면 아래의 과정을 통해 원격 브랜치를 가져와야 한다.
# 아래 명령어를 통해 로컬에 있는 브랜치로 전환할 수 있다.
git checkout <브랜치명>
git switch <브랜치명>
# 로컬에 없는 원격 브랜치로 전환하려면 아래 명령어를 사용한다.
git checkout -t <원격 브랜치명>
git checkout -b <생성할 브랜치명> <원격 브랜치명> # 로컬 브랜치명을 원격 브랜치명과 다르게 설정할 수 있다.
git checkout -b BE_feature origin/BE_feature # 이런 식으로 받아오면 된다.
-t 플래그와 -b 플래그를 사용한 두 방식의 차이점은 무엇일까?
- -t 플래그를 사용한 경우, 자동으로 원격 브랜치를 추적하게 설정된다. 따라서 git pull과 같은 명령어를 사용할 때 원격 브랜치와 로컬 브랜치가 자동으로 연결된다.
- -b 플래그는 원격 브랜치로부터 새로운 로컬 브랜치를 생성하지만, 원격 브랜치 추적 설정을 명시적으로 하지 않으면 수동으로 설정해야 할 수 있다.
따라서 원격 브랜치를 추적하고 싶다면 -t 방식이 더 적합하다.
원격 브랜치를 추적하면 뭐가 다른데?
- 자동 pull/push
- git pull이나 git push 명령어를 사용할 때 원격 브랜치를 따로 명시하지 않아도 된다.
- 상태 확인
- git status에서 로컬 브랜치와 원격 브랜치 간의 차이를 자동으로 확인할 수 있다.
-b 플래그를 사용해 로컬 브랜치를 생성하면 원격 브랜치를 자동으로 추적하지 않으므로
git pull 또는 git push 명령어를 사용할 때 원격 브랜치의 이름을 매번 명시적으로 작성해야 한다.
git push origin BE_feature
그러나 -t 플래그를 사용해 로컬 브랜치를 생성하면 원격 브랜치를 자동으로 추적하므로
git pull 또는 git push 명령어를 사용할 때 원격 브랜치 이름을 명시적으로 적지 않아도 된다.
git pull # 원격 브랜치에서 자동으로 pull
git push # 원격 브랜치로 자동으로 push
브랜치 생성
# 방식 1
git checkout -b <브랜치명> # 로컬 브랜치 생성 및 체크아웃
git push -u origin <브랜치명> # 원격 리포지토리에 해당 브랜치 반영
# 방식 2
git branch <브랜치명> # 로컬 브랜치 생성
git checkout <브랜치명> # 해당 브랜치로 체크아웃
git push -u origin <브랜치명> # 원격 리포지토리에 해당 브랜치 반영
브랜치 삭제
# 로컬 브랜치 삭제
# 로컬 브랜치를 삭제하기 전에 git checkout 명령어를 사용해 삭제 대상이 아닌 다른 브랜치로 전환해야 한다.
git branch -d <로컬 브랜치명>
# 원격 브랜치 삭제
git push <원격 저장소명> -d <원격 브랜치명>
'git & github' 카테고리의 다른 글
[Git][Linux] 리눅스 기본 명령어 (0) | 2023.05.09 |
---|---|
[Git][Linux] 문서 편집기 vi, vim 명령어 (0) | 2023.05.03 |
[Git]깃 설치 후 환경 설정 (0) | 2023.04.03 |
[생활코딩][GITn]GIT1 (0) | 2023.03.30 |