[git] Git Prune 에 대해 알아보자 |
https://www.atlassian.com/git/tutorials/git-prune
-
git pull (fetch) 과정에서 ref lock 에러를 마딱뜨렸는데, 이 때 해결방법중 하나가 'git remote prune origin' 을 수행하는 것이라 한다.
그래서 이 녀석의 정체에 대해 알아보고자 한다.
$ git remote prune origin
-
git prune 은 unreachable 한 git object 들을 "local" 에서 clean 하는 작업이다.
unreachable 이란 git tree 에 의해 참조되지 않는 gc 대상이 되는 dangling refs 들이다.
-
git prune 은 보통 직접 수행되지 않는다.
이 녀석은 git gc 의 child command 이다.
-
git prune 을 수행할 때 --dry-run --verbose 옵션을 주면 실제 수행되지는 않고, 어떻게 수행될지 시뮬레이션을 볼 수 있다.
$ git remote prune --dry-run --verbose
-
git remote prune 과 git fetch --prune 도 git prune 이 하는 일을 똑같이 한다.
remote 에 존재하지 않는 refs 를 지워버린 후에 fetch 나 pull 을 수행한다.
$ git fetch --prune
-
prune 은 remote 의 것을 지우는 것이 아닌, local 에서 remote 를 ref 하는 것 중 유효하지 않은 것을 제거하는 작업이다.
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
[애자일] Scrum 개발방법론 (0) | 2021.01.24 |
---|---|
Open Source Software License 들 간단 정리 (0) | 2020.12.25 |
[git] git pull error : remote ref is at xxx but yyy expected (0) | 2020.03.05 |
[git] fetch 하기 & pull 하기 (0) | 2020.03.04 |
[git] 수정 사항 되돌리기 ( stage to unstage, reset modifed ) (0) | 2020.03.03 |
댓글