[Git] 로컬, 원격 브랜치 이해(Source Tree)

Ik·2023년 5월 23일
0

CS

목록 보기
25/27

회사에서 vue 개선 작업을 특정 브런치에서 진행하라는 얘기를 들었고 특정 브런치에서 작업을 진행하려는 중 브런치 이동과 관련해 의문






상황

Source Tree에서 현재 위치이며 사용하는 브런치가 계속해서 master였고 특정 브런치로 이동하고자 하는데 작업을 진행할 수 없었음


이 전에 유지보수 작업에서는 마스터에서 작업해서 바로 푸쉬하는 유지 보수만 진행했었고 마스터 브런치에 일이 생겨 잠시 사용을 못하는 상황에서 다른 브런치를 사용했어야 되는 상황

    • 해당 업무는 master로 push하는 것이었음

Source Tree 보면 원격(origin)이라는 곳이 존재했고 해당 브런치 체크아웃 기능 통해 로컬에 내용도 함께 변하는 모습 확인

Source Tree로 git을 사용함에 있어 이해가 부족했다고 생각한다






이해

git이란 것을 더 이해해보고자 적어보면

Git 은 분산 저장소를 사용, 이는 로컬, 원격 따로 파일들을 관리한다는 것을 의미하는데 무조건 양 측의 파일이 같은 것이 아니다.

    • 현재 나의 경우는 master에서 간단한 유지보수만 진행했기에 다른 브랜치가 필요 없는 상황이었기에 push, pull 작업을 크게 고려하지 않았지만 과거 CLI를 통해 작업할 때 충분히 겪었던 상황이라 생각한다.

즉 원격에서 존재하는 브런치가 로컬에 존재하지 않을 수 있는 상황이며 반대의 상황도 가능

난 단순히 기본으로 로컬에 존재하는 master에 프로젝트를 clone 해왔다
때문에 내가 볼 수 있는 브랜치는 master 밖에 없었다(clone이라는 것이 원격(origin)에 master 브랜치를 복사하는 과정이며 로컬에 master 브랜치만 존재, 다른 원격 브런치로 체크아웃 한 경우가 없어 내 로컬에 존재하는 브랜치는 master뿐, 다른 건 없는 상황이었다.

로컬에서 브랜치를 만들어 작업을 한다고 원격에 바로 생성되는 것이 아니며 로컬의 브랜치를 원격으로 푸쉬할 때 원격의 브랜치가 생성되며 작업한 내용들이 푸쉬가 되는 것이다






유의

저장소 = 브랜치

로컬 저장소와 원격 브랜치의 차이 유의 필요하며 Source Tree에서 push, pull 할 때도 보면 로컬 브랜치와 원격 브랜치를 선택하는 란이 있다.






ref

참고 : https://www.freecodecamp.org/korean/news/git-remote-branch-checkout/

0개의 댓글