git branch 참조 업데이트

윤성민·2020년 10월 22일
3

최근 프로젝트에 수정사항이 많아지면서 브랜치를 많이 만들게 되었다. 분명 github에서 merge후에 브랜치를 삭제했음에도 불구하고 local에서는 업데이트가 되지 않아 로컬에서 브랜치를 만들 때, 이름이 중복되는 귀차니즘이 발생했다. 결국 어제 검색을 통해 해결했는데, 결론만 이야기 하자면,

git remote update origin --prune

라는 명령어를 통해 github의 브랜치와 내 로컬 브랜치를 동기화 시킬 수 있었다.
이와 관련해서 정확한 정보를 위해 더 찾아본 결과, 다음과 같다.

git remote prune

git remote prune은 리모트 브랜치의 더 이상 유효하지 않은 참조를 깨끗이 지우는 명령어 이다.

$ git remote prune origin
$ git remote update --prune

git fetch -p

git fetch -p 명령어는 로컬 저장소를 최신 정보로 갱신(리모트 저장소와 동기화)하며 자동적으로 더이상 유효하지 않은 참조를 제거한다.

$ git fetch -p
From github.com:mylko72/myApp
 x [deleted]         (none)     -> origin/myApp/dev
 x [deleted]         (none)     -> origin/myApp/topic
 x [deleted]         (none)     -> origin/myApp/version2

Git 원격 저장소에서 삭제된 branch를 로컬 저장소에서 자동으로 지우기

특정한 저장소 또는 글로벌 Git 설정에 fetch할 때 삭제된 브랜치를 제거하는 기능을 활성시킨다.

$ git config --global fetch.prune true

설정 이후 fetch 또는 pull 할 때 원격 저장소에서 삭제된 브랜치들이 로컬 저장소에서 자동으로 삭제된다.

개발자라면 git을 빼고 개발을 논할 수 없기 때문에, 이런 상황이 발생할 때 마다 git에 대해 공부하고 정리해야겠다.

참고자료: https://mylko72.gitbooks.io/git/content/remote/remote_update.html

profile
기록은 기억보다 강하다.

0개의 댓글