Skip to content
Back to skills

OpenSource

ASecurity

개발자가 오픈소스를 읽는 방법. - 회사 안에서 특정 틀젝을 진행하는 경우, 오픈소스 참여 등, 내가 처음부터 만들지 않은 플젝을 진행할 때는 **리딩 스킬**이 필요. - 협업 히스토리를 파악하는 것. - 특정 플젝의 개발 경향을 파악할 수 있다. - 누가 개발하고, 어떤 사람이 핫하게 개발? 몇개 개발 했는지. 어떤 기능들이 주로 개발되었는지를 알 수 있음. - 내가 마치 이 팀에서 오랫동안 개발해온 것 처럼 적응. - 누가 어떤 폴더, 기능을 많이 개발했는지 등… - 그러면 만약 막혔을 때, 누구에게 물어봐야할 지 알 수 있음. - Git으로 운영되는 프로젝트는 리딩스킬로 접근하면 프로젝트를 들여다보기가 원할. - 멘토님에게만 의지하는게 아니라, 내가 파악 가능. <br/>

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 6, 2026
toolsshellgit

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned February 10, 2026

npx -y skills add pozafly/TIL --skill OpenSource --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of OpenSource?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for OpenSource
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pozafly-opensource/badge)](https://www.skillsdirectory.com/skills/pozafly-opensource)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Reading Skill

개발자가 오픈소스를 읽는 방법.

- 회사 안에서 특정 틀젝을 진행하는 경우, 오픈소스 참여 등, 내가 처음부터 만들지 않은 플젝을 진행할 때는 **리딩 스킬**이 필요.
- 협업 히스토리를 파악하는 것.
- 특정 플젝의 개발 경향을 파악할 수 있다.
  - 누가 개발하고, 어떤 사람이 핫하게 개발? 몇개 개발 했는지. 어떤 기능들이 주로 개발되었는지를 알 수 있음.
  - 내가 마치 이 팀에서 오랫동안 개발해온 것 처럼 적응.
  - 누가 어떤 폴더, 기능을 많이 개발했는지 등…
  - 그러면 만약 막혔을 때, 누구에게 물어봐야할 지 알 수 있음.
- Git으로 운영되는 프로젝트는 리딩스킬로 접근하면 프로젝트를 들여다보기가 원할.
- 멘토님에게만 의지하는게 아니라, 내가 파악 가능.

<br/>

## 명령어

### 해당 오픈소스에서 "누가 제일 개발을 많이할까 ?"

nl 명령은 파일의 line number 명시 (순위표시용으로 사용)

```shell
$ git shortlog -sn | nl
$ git shortlog -sn -- [폴더명]
```

- 이걸로 단순히 순위를 매기는 게 아님
  - 폴더를 기준으로 순위를 매기면, 누구한테 리뷰받기 쉽겠다 하고 파악 가능.
  - 무조건 오너한테만 매달리면 안된다.
  - 상대방 입장을 고려하면서.
- 날짜를 기준으로 매길 수도 있다.

<br/>

### Git shortlog -s 옵션 이란 ?

- 개발자별 commit 개수 요약

```shell
$ git shortlog -s
```

<br/>

### Git shortlog -n 옵션이란?

- 개발자별 commit 개수 순위 정리

```shell
$ git shortlog -n
```

따라서 위의 s, n을 붙여서 `git shortlog -sn` 이라고 옵션을 붙여주는 것임.

<br/>

### 전체 commit 수 세기

```shell
$ git log --oneline | wc -l
```

여기서 wc -l 명령은 (파일) 라인수 갯수 측정.

<br/>

### 내역(commit) 리스트

```shell
$ git log --oneline
```

<br/>

### 내용 확인

```shell
$ git show [commitId]
```

<br/>

### 특정 commit에서 수정한 파일 갯수?

```shell
# 무슨 파일을 수정했는지 나옴.
$ git show [commitId] | grep "diff --git"

or

# 몇개의 파일을 숫자만 나옴.
$ git show [commitId] | grep "diff --git" | wc -l
```

<br/>

---

📌 커밋에 대해서.

- 파일 하나에 한 커밋으로 생각하는 경우도 있다.
- 하지만, 커밋을 보면 여러개가 묶여있음.
- 우리는 몇 라인 정도, 몇개의 파일을 하나의 commit으로 묶을까?
  - 몇만라인을 하나의 commit으로 때리면 협업하기 어렵다.
  - 리뷰하기 좋은 단위로 commit을 주는게 좋다.

📌 머지 커밋이란?

- merge: 합쳐짐. 머지 했다라는 커밋이 따로 있다.
  - `Merge pull request #263 from gentlelinuxer/test`
- 단순 merge만 알려주는 것
- `$ git log --oneline --no-merges`
  - 빈 껍데기 커밋을 제외하고 보여준다. 알맹이만 보여줌.
  - `$ git shortlog --no-merges -sn` 즉, 이걸 하면, 커밋 등수를 껍데기 제외하고 볼 수 있다.
- Merge commit은 show를 해보면, 수정 내역이 없다.

참고로 git 명령어에서 `| head -[숫자] ` 라고 마지막에 붙여주면 숫자 라인만큼만 보여줌. 생략해서 보고 싶을 때 사용한다.

---

<br/>

### 수정 내역 자세히 보기

```shell
$ git log -p
```

- 세세한 내용을 보고싶다.
- 즉, 소스 코드 어디를 수정했는지 까지 나온다.
- 단, 제목만 보고 싶다: --online

<br/>

### 특정 폴더를 기준으로 소스파일 기준 커밋 리스트

```shell
$ git log --oneline -- [폴더명]
```

<br/>

### 특정 날짜 기준

```
$ git log --oneline --after=[YYYY-MM-dd] --before=[YYYY-MM-dd]
```

여기서 after, before은 `inclusive` 다. 즉 미만 초과가 아니라 이상 이하다.

<br/>

### 다양한 옵션

```shell
$ git log --oneline --after=2020-01-01 --before=2020-06-30 --no-merges -- mnist
```

<br/>

📌 위 명령어는 최신 것부터임. 옛날 것부터 보고 싶으면?

- --reverse

<br/>

📌 커밋 메세지를 넣는 것이 굉장히 중요하다.

- 커뮤니케이션.
- 소스를 왜 수정했는지에 대한 정보를 넣는 것임.
  - 예를 들면 update 라고 적는 경우가 있다. 안된다.
  - 한줄로 적는 것은 보통 Title만 적는 것이다.
  - add, Fixes, Remove, 라는 첫단어 초이스가 중요하다.
  - update example 라는 메세지는 구체화 되어 있지 않다.

Files in this skill

  • 0.0 Fork & Clone.md572 B
  • 0.1 Reading Skill.md4.4 KB
  • 0.2 Git Config.md931 B
  • 0.3 Branch & Commit.md3.7 KB
  • 0.4 Git push & GitHub Pull-request.md2 KB
  • 0.5 파일 다루기.md4.9 KB
  • 0.6 Rebase.md8.5 KB
  • 0.7 Blame.md3 KB
  • 0.8 Team Practice.md2.1 KB
  • 0.9 오픈소스 협업 개발 과정.md7.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.