2021 오픈소스 컨트리뷰션 아카데미의 오픈소스 101 교육을 듣고 정리한 내용입니다.
오픈소스 프로젝트에서 Git은 단순한 프로젝트 버전관리 도구가 아니다. 협업의 관점에서 오픈소스를 해석하고 관리할 줄 알아야 한다.
git shortlog -sn | nl
1 77 Soumith Chintala
2 63 Bryan Marcus McCann
3 34 Adam Lerer
4 23 soumith
5 20 Rohan Varma
...
nl
명령은 파일의 line number 명시git shortlog -sn -- mnist/ | nl
-- mnist
폴더 )특정 폴더, 파일을 기준으로 기여 내역을 확인할 수 있다.git log --oneline
a50b91b PR test
976a903 Merge pull request #294 from gentlelinuxer/fix-mnist
08f6dd5 PR test
92df8fc Merge pull request #263 from gentlelinuxer/test
f1a28b1 PR test
943af71 Merge pull request #136 from gentlelinuxer/master
...
wc -l
명령은 (파일) 라인수 개수를 측정한다. git show 6c8e2ba
commit ID 란?
6c8e2ba
가 commit의 아이디이다.author, date, commit message, diff 내역 등을 확인할 수 있다.
이 commit 에서는 몇 개의 파일을 수정했을까?
grep "diff"
로 어떤 파일들을 확인했는지 잡아서 확인할 수 있다. git log --oneline -- mnist/
-- 폴더/, 파일
shortlog
, --no-merges
등 옵션들과 섞어서 사용해보자.git log --oneline --after=2020-01-01 --before=2020-06-30
wc -l
옵션을 활용하면? --no-merges
옵션을 추가하면 머지커밋을 제외하고 커밋 내역을 확인할 수 있다.최초 커밋을 알고 싶다면?
git log --reverse | head -1