티스토리 뷰

Git

백업관리2

돈파치 2021. 10. 4. 16:12
반응형

리모트 브랜치란?

원격 저장소에 있는 브랜치를 의미한다.

로컬 저장소의 브랜치에 있는 커밋들을 원격 저장소에 push를 하면 원격 저장소에 해당 로컬 저장소의 브랜치명과 같은 브랜치가 없을 경우 생성되는데 그 브랜치가 리모트 브랜치가 된다.

생성하는 방법은 다음과 같다.

# 원격 저장소의 별명은 origin 혹은 upstream이 될 수 있다.
git push <원격 저장소의 별명> <로컬 저장소의 브랜치명>

 

리모트 트래킹 브랜치 VS 트래킹 브랜치

 

리모트 트래킹 브랜치란?

리모트 브랜치를 추적(트래킹)하는 로컬 저장소에 있는 브랜치

이것은 로컬 저장소에 있지만 로컬 저장소에서 사용자가 임의로 수정할 수 없다.

리모트 트래킹 브랜치의 형식은 '원격 저장소의 별명/리모트 브랜치'로 되어 있다.

원격 저장소로부터 fetch 혹은 pull을 할 때마다 리모트 트래킹 브랜치가 가리키는 커밋 위치가 자동으로 업데이트될 뿐인 브랜치다.

 

쉽게 말하자면 리모트 브랜치가 가리키는 커밋을 똑같이 가리키는 브랜치에 불과하다.

 

트래킹 브랜치란?

리모트 브랜치를 추적하며 직접적인 연결고리가 있는 로컬 저장소에 있는 브랜치

이 브랜치는 리모트 트래킹 브랜치와는 다르게 사용자가 임의로 수정할 수 있다.

git fetch를 통해 트래킹 브랜치가 가리키는 커밋 위치가 업데이트되지 않는다. 

git fetch는 단지 리모트 트래킹 브랜치만 만든다.

 

 

트래킹 브랜치 만드는 방법

git checkout -b <짓고 싶은 트래킹 브랜치명> <원격 저장소 별명>/<리모트 브랜치명>
git checkout --track <원격 저장소 별명>/<리모트 브랜치명> # 리모트 브랜치와 같은 이름의 트래킹 브랜치 생성
git checkout <짓고 싶은 트래킹 브랜치명> # 만약 입력한 브랜치명이 있는 원격 저장소가 딱 한 개 있고 로컬에는 없으면 다음과 같이 가능

 

트래킹 브랜치 기능 실험

1. 현재 업스트림 develop브랜치가 메인 브랜치이며 해당 브랜치에 파일이 아무것도 없기 때문에 develop 브랜치에서 만든 feature-ui 브랜치에도 파일이 아무것도 없다.

2. 로컬 저장소의 develop 브랜치에서 hello 텍스트파일을 만들고 커밋까지 한다. 

로컬 저장소에는 현재 develop 브랜치 밖에 없는 상황이다.

 

3. 로컬 저장소의 develop브랜치에서 upstream/feature-ui를 트래킹하는 브랜치인 ui 브랜치를 생성한다.

 

4. 3.의 결과 로컬 저장소의 ui브랜치에는 파일이 아무것도 없는 것을 확인할 수 있다. 

로컬 저장소의 develop 브랜치에는 hello라는 파일이 있기 때문에 develop 브랜치에서 ui브랜치 생성해서 ui브랜치에도 hello파일이 생기지 않으니 주의하자!

그 이유는 hello라는 파일이 존재하지 않는 리모트 브랜치인 feature-ui를 트래킹하고 있기 때문이다.

 

5. github에서 upstream의 feature-ui 브랜치에 다음과 같은 파일 2개를 생성하였다.

 

6. 다시 로컬 저장소의 develop 브랜치에서 upstream/feature-ui를 트래킹하는 트래킹 브랜치 ui3를 생성한다.

 

7. 6.의 그 결과 feature-ui에서 새로 만든 파일 2개가 로컬 저장소의 트래킹 브랜치인 ui3에 고대로 생성되었다.

 

이를 통해 git checkout -b <짓고 싶은 트래킹 브랜치명> --track <remote>/<local branch> 명령어는 upstream/feature-ui의 버전을 ui브랜치로 동기화 시킨다는 것을 직접 눈으로 보고 확인하였다.

 

또한 이 실험을 통해 트래킹 브랜치에서 git pull만 입력해도 깃이 인식하여 upstream/feature-ui에 있는 버전을 ui3에 동기화해주는 것을 알 수 있었다.

 

 

 

반응형

'Git' 카테고리의 다른 글

base와 rebase  (0) 2021.10.04
협업 관리  (0) 2021.10.04
백업 관리1  (0) 2021.10.04
브랜치 관리  (0) 2021.10.04
버전 삭제 및 되돌리기  (0) 2021.10.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
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 29 30 31
글 보관함
반응형