< 개발자 별 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 |