개별 브랜치 최신화를 해야하는 상황
작업을 할 때 브랜치의 수명은 되도록 짧게 가져가는게 좋지만, 개별 브랜치에서 기능을 완료하는데 해야 할 작업들이 많아서 오래 걸리는 경우들이 있음.
그러다 보면 master에 추가된 기능들이 필요한 경우가 종종 생기게 됨.
이러한 상황 속 문제없이 내 로컬 브랜치에 원격 master의 변동사항을 가져오는 방법에 대해 알아봄.
git pull origin master
개별 브랜치에서 해당 명령어를 통해 불러올 경우 아마 가져와지지 않을 경우가 높음.
이유는 Git에서 제공하는 안전성 검사 때문에 로컬 브랜치의 작업내용이 손실될 수 있기 때문.
( git pull의 경우 변동 사항이 있는지 확인함과 동시에 최신 데이터를 복사하여 로컬 Git으로 가져오기 때문에 작업내용 손실의 위험이 있음)
이럴 경우 어떤 방식으로 최신화를 진행해야 하는지 2가지 방식이 있음.
git fetch + git merge
개별 브랜치에서 git fetch upstream(==origin) 을 통해 마지막 pull이 후 원격 저장소에 변동 사항이 있는지 확인 후(git diff 명령) git merge 명령어를 통해 최신화를 진행해줌으로써 안전하게 master의 변경사항을 들고올 수 있음.
로컬 master 브랜치를 활용
보통 로컬에도 master 브랜치가 존재하고 개별 작업 브랜치가 존재할텐데 로컬 master브랜치를 원격과 동일하게 관리를 하게되면 원격 레포지토리의 변동사항이 생길 경우 로컬 master에서 git pull을 진행 후 개별 브랜치에서 merge를 하는 방법이 문제 발생 위험이 적고 편리하기 때문에 해당 방식을 선호함.
추가로 레퍼런스 등에서 이야기하는 upstream, remote, origin은 모두 원격 레포지토리를 나타내는 동의어로 용어가 달라도 헷갈려하지 말기를.
'DevOps. > Git' 카테고리의 다른 글
[Git] 특정 파일 혹은 폴더만 add하기 (1) | 2024.01.31 |
---|---|
[Git] Gerrit을 통한 Commit 단위 코드리뷰 (0) | 2024.01.23 |
[Git] Github-Flow [깃 브랜치 전략] (0) | 2024.01.16 |
[Git] Git-Flow [깃 브랜치 전략] (0) | 2024.01.15 |
[Git] WorkFlow 및 .gitignore (0) | 2024.01.15 |
개발 기술 블로그, Dev
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!