삶 가운데 남긴 기록 AACII.TISTORY.COM
git branch 관리 본문
원격 브랜치 로컬로 가져오기(fetch)
원격 저장소(orign)의 모든 원격 브랜치를 로컬로 가져옴
git fetch origin
체크아웃 할 수 있는 브랜치 목록 확인
git branch -a
브랜치 목록 중에서 원격 브랜치에는 remotes/origin 접두사가 붙어 있습니다.
원격 브랜치 업데이트
원격 저장소의 브랜치들을 갱신
git remote update
원격 저장소 브랜치 목록 확인
git branch -r
그런데 삭제된 원격 브랜치가 목록에 나오는 경우가 있습니다.
git remote update 명령은 원격 저장소에서 삭제된 브랜치들을 로컬 저장소에서 정리하지는 않기 때문입니다.
모든 원격 저장소에 대해 삭제된 브랜치 정보를 정리(prune)하려면 아래와 같이 입력합니다.
git fetch --all --prune
만약 특정 원격 저장소에 대해 삭제된 브랜치 정보를 정리하려면 아래와 같이 입력합니다.
git fetch 원격저장소이름 --prune
예를 들어 원격 저장소(origin)에 브랜치를 merge하고 나서 삭제해도 로컬에는 해당 브랜치가 존재하는 상황에서
로컬의 브랜치들을 잘라 없애는(prune) 작업은 위 처럼 할수도 있있습니다.
하지만 아래 명령도 같은 기능을 수행합니다.
git remote prune origin
혹은
git remote update --prune
원격 브랜치의 변경 이력을 로컬 브랜치에 가져와서 적용(tracking)
git checkout -t 원격브랜치명
위 명령어는 원격 저장소의 브랜치를 로컬 브랜치에 영구적으로 tracking 할 때 -t 옵션으로 checkout 합니다.
이렇게 checkout 하면 원격 브랜치 명과 로컬 브랜치명이 같게 checkout 됩니다.
만약 원격과 로컬 브랜치명을 다르게 checkout하고 싶으면 아래 처럼 입력합니다.
git checkout -b 로컬브랜치명 원격브랜치명
예를 들어 origin/feature/tests 원격 브랜치를 로컬로 복사하려면 아래와 같이 입력합니다.
git checkout -b feature/tests origin/feature/tests
위 명령어는 feature/tests 브랜치를 생성하고, 새 브랜치(feature/tests)로 체크아웃하며, 원격 브랜치 origin/feature/tests의 변경 이력을 로컬 feature/tests 브랜치로 가져(pull)옵니다.
브랜치 삭제
로컬 브랜치 삭제
git branch -d 브랜치명
-D 옵션으로 강제로 삭제 할 수 있습니다.
원격 저장소(origin) 브랜치 삭제
git push origin --delete 브랜치명
참고: git 웹페이지에서 원격 브랜치를 삭제를 지원 할 수도 있습니다.
다른 브랜치 커밋을 개별 적용
git cherry-pick은 다른 브랜치에 있는 커밋을 개별로 현재 브랜치에 적용시킬 때 사용합니다.
브랜치 전체를 병합(merge)하는 것이 아니라 특정 커밋만을 현재 브랜치로 가져옵니다.
git cherry-pick 커밋해시값
만약 merge한 커밋에 대해 cherry-pick을 하려면 아래처럼 할 수 있습니다.
git cherry-pick -m 1 머지커밋해시값
cherry-pick 중단 명령
git cherry-pick --abort
'DEV&OPS > Linux & Cloud' 카테고리의 다른 글
CentOS7 다수의 openJDK 설치 및 환경 설정 (0) | 2023.03.23 |
---|---|
gitlab 설치 시 포트를 변경했지만 8080 포트가 사용중인 경우 (0) | 2023.03.20 |
RAID (0) | 2022.12.25 |
CentOS 7 디스크 관리 (feat. VMware) (0) | 2022.12.22 |
리눅스 프로세스 관리 (0) | 2022.12.21 |