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

Section 48.6: 모든 커밋들의 목록을 더 보기 좋은 형태로 나열하기

git log --pretty=format:"%Cgreen%ci %Cblue%cn %Cgreen%cr%Creset %s"

위 명령어는 전체 커밋에 대해 날짜, 사용자, 그리고 커밋 메시지를 한 줄에 한 항목씩 표시하여 훌륭한 개요를 제공해줄 것이다.

--pretty 옵션은 %로 시작하는 다양한 placeholder 를 제공한다. 전체 옵션의 목록은 여기 에서 확인할 수 있다.

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

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

Section 48.5: 브랜치 내의 총 커밋 갯수 측정하기

git log --pretty=oneline |wc -l

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

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

Section 48.4: 날짜별 커밋 수 측정하기

git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c

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

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

Section 48.3: 개발자 별 커밋 수 측정하기

git shortloggit log 의 출력 내용을 요약하여 작성자 별로 커밋들을 그룹화 시켜 출력해준다.

기본적으로는, 모든 커밋들의 커밋 메시지가 출력되게 되어 있으나 --summary-s 파라미터 이용 시 커밋 메시지를 출력하지 않고 각 작성자들이 작성한 커밋들의 총 갯수들의 목록을 출력하게 된다.

--numbered 혹은 -n 파라미터는 결과 출력시 정렬 순서를 알파벳 기준에서 (작성자 정보의 오름차순으로) 작성자의 커밋 갯수 기준 내림차순으로 변경하여 준다.

git shortlog -sn # 작성자 이름과 작성 커밋 갯수 git shortlog -sne # 작성자 이름 및 이메일 주소와 작성 커밋 갯수

혹은

git log --pretty=format:%ae \ | gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'

주의: 동일인이 작성한 커밋이라 할지라도 커밋 내에 이름과 이메일 주소가 완전히 동일하게 기술되어 있지 않을 경우 그룹화되어 출력되지 않을 수 있다. 예를 들어, "John Doe" 와 "Johnny Doe" 는 목록에서 별개의 항목으로 출력이 될 것이다. 이러한 문제를 해결하고자 한다면, .mailmap 기능을 참고하라.

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

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

Section 48.2: 브랜치 목록을 나열하고 각 브랜치의 마지막 수정 날짜 표시하기

for k in `git branch -a | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort

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

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

Section 48.1: 개발자별 코드 라인 수 측정하기

git ls-tree -r HEAD | sed -Ee 's/^.{53}//' | \ while read filename; do file "$filename"; done | \ grep -E ': .*text' | sed -E -e 's/: .*//' | \ while read filename; do git blame --line-porcelain "$filename"; done | \ sed -n 's/^author //p' | \ sort | uniq -c | sort -rn

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

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

Chapter 48: Git 통계내기

역주: 아래 파라미터 목록은 git shortlog 명령어에 대한 설명입니다

파라미터 설명
-n, --numbered 출력 결과를 알파벳 순이 아닌 저자별 커밋 수 기준으로 정렬한다
-s, --summary 커밋 갯수만을 요약한 정보만 출력한다
-e, --email 각 저자별 이메일 주소 정보를 표시한다
--format[=<format>] 각 커밋들에 대해 해당 커밋의 주제 (subject) 가 아닌, 다른 정보들을 사용하여 커밋에 대한 정보를 기술한다. <format> 파라미터로는 git log 명령어의 --format 옵션이 처리할 수 있는 모든 문자열을 넘길 수 있다.
-w[<width>[,<indent1>[,<indent2>]]] 한 줄에 출력될 수 있는 글자 수를 width 로 설정하여 각 줄을 단어 단위로 줄바꿈 (wrap) 시킨다. 각 항목의 첫번째 줄은 indent1 개의 공백 문자로 들여쓰기 될 것이며, 이후 뒤따르는 줄들은 indent2 개의 공백문자로 들여쓰기 될 것이다.
<revision range> 주어진 revision range 안에 포함되는 커밋들만 표시한다. 기본 값은 현재 커밋까지의 모든 history 를 포함하게 되어 있다.
[--] <path> 주어진 path 에 부합하는 파일들과 관련된 커밋들만 표시한다. Path 정보는 다른 옵션들이나 revision range 와의 구별을 위하여 "-- " 를 앞에 붙여야 할 수 있다.

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

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

Section 47.2: 패치 파일 적용하기

git apply some.patch 명령어를 사용하면 .patch 파일에 기록되어 있는 변경사항들을 현재 작업 디렉토리에 적용시킬 수 있다. 이 변경사항들은 stage 되지 않은 상태로 적용되어, 추가적인 커밋 작업을 필요로 할 것이다.

패치 파일을 아예 커밋으로 (포함된 커밋 메시지와 함께) 적용시키려면, 아래 명령어를 사용한다.

git am some.patch

모든 패치 파일들을 한꺼번에 적용시킬 수도 있다:

git am *.patch

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

반응형

'번역 > Git Notes for Professionals' 카테고리의 다른 글

48.1: 개발자별 코드 라인 수 측정하기  (0) 2020.04.28
48: Git 통계내기  (0) 2020.04.28
47.1: 패치 파일 생성하기  (0) 2020.04.27
47: Git Patch  (0) 2020.04.27
46.3: LFS 설치하기  (0) 2020.04.24

+ Recent posts