GitNotes.8-2.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 8.2: 이미 merge 완료된 원격 브랜치들 찾기

이따금씩 모든 변경사항들이 이미 master 브랜치에 merge 되었지만 정리되지 않고 남아있는 브랜치들을 발견할 수 있다.

아래 명령어는 origin 의 master 브랜치가 아니면서 로컬의 master 브랜치와 비교했을 때 merge 되지 않은 고유한 커밋을 가지고 있지 않은 모든 원격 브랜치들을 검색한다.

이는 PR (pull request) 가 이미 master 로 merge 된 이후 원격에서 삭제되지 않은 브랜치들을 검색할 때에 편리하게 이용할 수 있다.

for branch in $(git branch -r) ; do [ "${branch}" != "origin/master" ] && [ "${branch}" != "->" ] && [ $(git diff master...${branch} | wc -l) -eq 0 ] && echo -e `git show --pretty=format:"%ci %cr" $branch | head -n 1`\\t$branch done | sort -r

역주: '->' 검사 부분은 원문에는 없었으나 직접 테스트시 에러가 발생하는 것을 발견하여 임의로 추가하였습니다. 또한 현 상태로 실행할 경우 항상 origin/HEAD 도 검출 내역에 표시되나, 이 부분은 따로 수정하지 않았음을 유의하시기 바랍니다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts