개발자가 오픈소스를 읽는 방법
오픈소스 project를 잘 분석할 수 있는 Reading Skill
2021 오픈소스 컨트리뷰션 아카데미의 오픈소스 101 교육을 듣고 정리한 내용입니다.
1. 해당 오픈소스에서 누가 제일 개발을 많이 할까?
오픈소스 프로젝트에서 Git은 단순한 프로젝트 버전관리 도구가 아니다. 협업의 관점에서 오픈소스를 해석하고 관리할 줄 알아야 한다.
nl
명령은 파일의 line number 명시
( 예제 코드에서는
-- mnist
폴더 )특정 폴더, 파일을 기준으로 기여 내역을 확인할 수 있다.보통 오픈소스 개발을 할 때는 특정 파트에 집중하기 때문에, 폴더 별로 기여자 혹은 기여 내용을 확인할 줄 알아야한다.
즉, 프로젝트의 owner 보다, 내가 수정하고 싶은 부분의 가장 큰 기여자에게 도움을 요청하는 것이 더 좋을 수 있다.
오너는 바쁨...
2. 전체 소스파일 수정내역(commit) 확인
wc -l
명령은 (파일) 라인수 개수를 측정한다.총 commit 개수를 확인할 때 사용
3. 특정 commit의 자세한 내용 확인
commit ID 란?
6c8e2ba
가 commit의 아이디이다.
author, date, commit message, diff 내역 등을 확인할 수 있다.
이 commit 에서는 몇 개의 파일을 수정했을까?
grep "diff"
로 어떤 파일들을 확인했는지 잡아서 확인할 수 있다.
4. 특정 소스파일 기준 commit 리스트 확인
-- 폴더/, 파일
shortlog
,--no-merges
등 옵션들과 섞어서 사용해보자.
5. 특정 날짜 기준 commit 리스트 확인
wc -l
옵션을 활용하면?특정 기간의 커밋 리스트와 그 개수를 확인할 수 있으면 프로젝트 진행결과를 해석하고 통계 내기 용이함.
6. Merge commit 이란?
다른 기여자의 커밋이 master에 병합되었음을 알려주는 커밋.
머지 커밋에서는 소스의 수정내역은 없음을 확인하자.
--no-merges
옵션을 추가하면 머지커밋을 제외하고 커밋 내역을 확인할 수 있다.
7. 과거순으로 소스파일 commit 내역 확인
최초 커밋을 알고 싶다면?
reverse 옵션은 역순으로 commit log를 정렬해준다.
Last updated