Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 1003 파이썬
- 10819 파이썬
- Android mvp
- git local remote
- 투포인터 알고리즘
- 1644 파이썬
- Jetpack Room
- 안드로이드 hilt
- 백준 2096
- 자바
- 1806 백준
- 1806 파이썬
- flow buffering
- 6588 파이썬
- 백준 10819
- 2096 파이썬
- android hilt
- 1753 파이썬
- Android Room
- 코루틴 플로우
- 백준 1644
- 백준 5582
- Coroutine Flow
- 자료구조
- 1806 투포인터
- 1753 다익스트라
- 5582 파이썬
- 이진 탐색
- java
- 5582 DP
Archives
- Today
- Total
Gemstone's Devlog
Git Prune에 대해 정리 본문
https://aroundck.tistory.com/6529
가끔 소스트리로 git pull (fetch) 하는 과정에서 ref lock 에러를 위 블로그의 글쓴이처럼 자주 맞닥뜨렸었다.
이번에 다음의 명령어로 간단하게 해결했었는데
$ git remote prune origin
이것의 정체를 알아보고자 한다.
git prune은 unreachable한 git object 들을 "local"에서 clean 하는 작업이라고 한다.
여기서 unreachable이란 git tree에 의해 참조되지 않는 gc 대상이 되는 dangling refs 들이다.
git prune은 보통 직접 수행되지 않으며,
git gc의 childe 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하는 것 중 유효하지 않은 것을 제거하는 작업이다.
'Git' 카테고리의 다른 글
[GitHub] Branch Protection Rule 적용하여 브랜치 보호하기 (0) | 2022.08.13 |
---|---|
[Git] 로컬에서 원격 브랜치 완벽하게 삭제하기 (0) | 2022.07.19 |