이 글은 Git에 올라와있는 오픈소스 프로젝트들에 대한 코드를 읽는데 도움이 되는 명령어들이다. 어떤 프로젝트이던지 그 구조를 파악하고 어느 개발자가 코드를 작성하였는지를 알면 전체적인 insight에 도움이 된다.
*프로젝트 개발의 전체적인 흐름
공식 오픈소스 프로젝트를 upstream으로 두고, 이를 Fork해와서 origin으로 사용한다.
Fork는 프로젝트를 내 git저장소로 복사해오는 개념이라고 생각하면 된다. Fork한 저장소를 origin으로 clone해오면 내 로컬저장소에서 프로젝트를 자유롭게 수정할 수 있다.
로컬에서 수정을 마친 뒤 push명령어를 통해 내가 Fork한 저장소, 즉 origin에 업로드할 수 있고, 이를 공식 오픈소스 프로젝트 즉, upstream에 pull-request를 요청할 수 있다.
- 내 git저장소로 Fork
- Fork한 프로젝트의 clone URL 복사
- $ git clone [복사한주소]
**commit == 소스파일 수정내역
*개발자별 commit 보기
$ git shortlog -sn | nl
$ git shortlog -h | grep summary
nl: line number 순위표시용으로 사용
-s: 개발자별 commit 개수 요약
-n: 개발자별 commit 개수 순위 정리
grep: 다음 string으로 정렬
*전체 commit의 개수
$ git log --oneline | wc -l
wc -l : (파일) 라인수 개수 측정
*전체 commit 리스트 확인
$ git log --oneline
//참고: 'q' 키 눌러서 나가기
특정 폴더를 기준으로 commit 리스트 확인
- $ git log --oneline -- [폴더이름/]
특정 날짜 기준으로 commit 리스트 확인(날짜포함)
- $ git log --oneline --after=2020-01-01 --before=2020-06-30
ex. 2020년 6월 한달간의 수정내역(commit)의 개수
- $ git log --oneline --after=2020-06-01 --before=2020-06-30
특정 날짜+파일 기준으로 commit 리스트 확인
- $ git log --oneline --afte=2020-06-01 --before=2020-06-30 -- [폴더이름/]
*전체 commit 자세히 보기
$ git log -p
*commit 옛날 것부터 확인하기
$ git log --reverse
**commit의 ID
== 고유한 ID 해시값으로 소스파일이 조금이라도 수정되면 값이 변화한다.
*commit 내용 확인
$ git show [commit ID] 해당 commit의 수정한 파일 확인하기
$ git show [commit ID] | grep "diff --git" 해당 commit의 수정한 파일 개수 확인
$ git show [commit ID] | grep "diff --git" | wc -l
Blame
$ git blame [파일명]
해당 소스라인에 대해서 누가 마지막으로 수정을 했는지 commit ID를 추적할 수 있다.
'코딩' 카테고리의 다른 글
[Git 명령어] branch, commit, stash (0) | 2020.07.18 |
---|---|
[Git 명령어] Git 설정하기 (0) | 2020.07.18 |
[프로그래머스 lv1] 문자열 가운데 글자 찾기 (0) | 2020.07.11 |
[프로그래머스 lv1] sql 최댓값 구하기 (0) | 2020.07.11 |
[프로그래머스 lv1] 문자열 내 문자의 개수 구하기 (0) | 2020.07.11 |