Git

[Git] git prune (remote에 없는 local 브랜치 일괄 삭제하기)

dev_sihyun 2024. 1. 11. 11:33
반응형

git prune (remote에 없는 local 브랜치 일괄 삭제하기)

#1 git prune 이란?

image

prune은 "(불필요한 가치를) 치다, 제거하다" 라는 뜻입니다.
단어의 뜻처럼, git prune은 로컬 환경에서 사용하지 않는 브랜치를 정리하는 데 도움을 주는 명령어입니다.
이 명령어를 사용하면 로컬 저장소에서 원격 저장소에 더 이상 존재하지 않는 브랜치들을 제거할 수 있습니다.
이것은 프로젝트의 관리와 유지보수를 위해 중요한 작업 중 하나입니다.

 

#2 문제 원인 (왜 이런 상황이 발생할까요?)

협업을 하거나 다양한 기능을 개발하는 경우에는 많은 브랜치가 만들어질 수 있습니다.

그러나 이러한 브랜치들은 프로젝트가 진행되는 동안 더 이상 필요하지 않을 수 있습니다.

그리고 이 불필요한 브랜치들이 로컬 저장소에 계속 존재하게 되면, 저장소가 혼잡해지고 관리가 어려워질 수 있습니다.

여기서 git prune이 중요한 역할을 합니다!
git prune을 사용하면, 로컬 저장소에서 원격 저장소에 이미 없는 브랜치들을 쉽게 정리할 수 있습니다. 이렇게 하면 저장소가 깔끔하게 유지되고 불필요한 파일들이 제거되기 때문에 작업 환경이 개선됩니다! 또한, 불필요한 브랜치들이 남아있지 않으므로 혼란을 줄일 수 있습니다.

 

#3 예시 (문제 및 해결 방법)

feature 브랜치를 main에 merge 후 삭제하지만, local에서는 여전히 feature 브랜치가 존재합니다.

 git remote update

 

를 하더라도, local의 feature 브랜치는 제거되지 않습니다

위 문제를 해결하기 위해, 

git remote prune origin

 

을 사용합니다. 이는, remote에 존재하지 않는 브랜치들을 local에서 마치 가지치기를 하듯 삭제시켜줍니다.

 

동일한 기능을 하는 명령어로는,

git fetch --prune

 

이 있습니다.

반응형