본문 바로가기

형상관리/Git

[Git] 유용한 명령어 셋 모음

0. 깃 리모트 브랜치 변경사항 로컬에 적용

git remote prune



1. 리모트 브랜치의 최종 커밋 데이트 순 정렬 (사용안한 브랜치 검출 시 좋음)

-리모트 브랜치 출력

git for-each-ref --format='%(committerdate:relative) %(refname)' --sort -committerdate refs/remotes/origin



-30일 이상 미사용 브랜치 출력

git for-each-ref --format='%(committerdate:short) %(refname:strip=3)' --sort -committerdate refs/remotes/origin |  awk '$0 <= "'`date --date="30 days ago" '+%Y-%m-%d'`'"' | awk '{print $2}'



-30일 이상 미사용 브랜치 리모트에서 삭제

git for-each-ref --format='%(committerdate:short) %(refname:strip=3)' --sort -committerdate refs/remotes/origin | grep -E "custom|feature" | awk '$0 <= "'`date --date="30 days ago" '+%Y-%m-%d'`'"' | awk '{print ":"$2}' | xargs git push origin



2. Merge 중 컨플릭트 발생시 목록 파일 목록 출력

git ls-files -u | awk '{print $4}' | uniq



3. 해당 날짜의 첫번째 커밋 아이디 가져오기

git log --all --pretty=format:"%h %cd %s (%an)" --since='2016-06-25 00:00:00' --until='2016-06-25 23:59:59' | tail -n 1



4. 특정 커밋을 기준을 변경사항 출력하기

git diff --name-only HEAD~10 HEAD | sort | uniq



5. 자동으로 생성된 태그 제거하기

git tag | sort -rn |  tail -n +30 | awk '{print ":tags/"$1}' | xargs -L 1 git push origin




'형상관리 > Git' 카테고리의 다른 글

Git bash 한글 깨짐 문제  (0) 2017.03.23