< 개발자 별 commit 순위 확인 >

git shortlog -sn | nl

- s 옵션 : 개발자별 commit 개수 요약

- n 옵션 : 개발자별 commit 개수 순위 정리 

 

nl 명령 : line number 명시 (순위 표시 용으로 사용) 

 

- 해당 부분은 gui 로 확인 가능 ( Github 해당 프로젝트 -> Insights -> Contributors) 

Q. 왜 GUI로 보지않고 CLI 로 보는가? 

A. 전체의 history보다 최근의 history,  특정 폴더에 집중적으로, 등등 확인하기 위해 

이렇게 세부적인 사항은 GUI로 확인할 수 없음 

즉, 세부적인 경향 파악을 위해 GUI가 아닌 CLI를 사용

 

(1) 특정 폴더에 집중적으로 순위 확인 

git shortlog -sn -- (디렉토리명)

(2) 특정 폴더 + 특정날짜 이후(최근) 순위 확인 

git shortlog -sn --after=2019-01-01 -- mnist

(3) merge commit 제거한 순위 확인

git shortlog -sn --no-merges

* commit : 소스 변경 히스토리 단위

* merge commit : "병합이 되었음을 나타내는 빈 commit" 

 

< 전체 소스파일 수정내역 개수 (commit 개수) 확인 >

git log --oneline | wc -l

wc -l 명령 : (파일) 라인 수 개수 측정

- GUI로도 확인 가능 -> "숫자"commits

- 팀 프로젝트의 commit 전체 개수 == base commit이라고 부름 

 

Q. base commit 은 계속 똑같은가? 

A. No. 당연히 변경됨. **우리는 base commit 위에 작업을 함**

 

(1) 전체 소스파일 수정내역 리스트 확인

git log --oneline

- 실행시 나오는 노란색글씨 : 소스파일 수정내역 고유한 ID (SHA1 해시값)

(2)전체 소스파일 수정내역(commit) 자세히 확인

git log -p

(3) 특정 날짜 기준 수정내역(commit) 확인 

git log --oneline --after=2020-01-01 --before=2020-06-30

(4) 특정 날짜 기준 수정내역(commit) 개수 확인

git log --oneline --after=2020-06-01 --before=2020-06-30 | wc

(5) 특정 날짜+파일/폴더 기준 수정내역(commit) 개수 확인

git log --oneline --after=2020-06-01 --before=2020-06-30 -- mnist/

- 협업 시 특정파일에 집중해서 개발하므로, 필요! 

(6) 최근이 아닌 옛날 것부터 소스파일 수정내역(commit) 확인

git log --oneline --reverse

* reverse 사용 시 주의 

- 첫번째꺼는 옛날꺼부터 3개

- 두번째 명령은 최신꺼 3개 중 거꾸로! 

 

< 특정 ID의 소스파일 수정 내역(commit) 내용 확인 >

git show (ID)

- commit 단위로 어떤 것을 수정했는지 확인할 수 있음

(1) 특정 ID의 소스파일 수정 파일 확인

git show 6c8e2ba | grep "diff --git"

(2) 특정 ID의 소스파일 수정 파일 개수 확인

git show 6c8e2ba | grep "diff --git" | wc -l

(3)전체 소스파일 수정내역(commit) 리스트에서, Merge commit 수정내역 확인

 

 

'Computer Science > git&github' 카테고리의 다른 글

Stash vs Checkout  (0) 2022.02.16
Branch 에서 소스파일 생성 및 수정  (0) 2022.02.16
기본 Git&Github 협업과정  (0) 2022.02.16
[git & github] 깃허브  (0) 2020.05.18
[git & github] 브랜치  (0) 2020.05.17

+ Recent posts