---
description: 공식 오픈소스 GitHub 저장소를 Fork 한 뒤, 내 원격 저장소를 로컬로 Clone 한다.
---

# 오픈소스 프로젝트 시작하기



> [2021 오픈소스 컨트리뷰션 아카데미](https://contributionacademy.oopy.io)의 오픈소스 101 교육을 듣고 정리한 내용입니다.

#### 1. Fork와 Clone

![image](https://user-images.githubusercontent.com/37580034/129439870-023db9da-2758-4694-ad6f-548440d8e9ca.png)

공식 오픈소스 GitHub 저장소를 Fork 한 뒤, 내 원격 저장소를 로컬로 Clone 한다. 항상 내 깃헙의 저장소에 push를하고 여기서 PR을 날린다. 그러면 팀 프로젝트 PR 목록에 자동으로 추가된다.

1. `commit` 이란? 소스파일의 변화분&#x20;
   * commit을 만든다 == 히스토리를 적용한다는 것.
2. `fork` 란? 원격 저장소를 내 원격 저장소로 다운로드 받는 것.&#x20;
3. `clone` 이란? 내 컴퓨터. 로컬 저장소로 프로젝트를 복사해오는 것.
   * 오픈소스 프로젝트를 fork 한뒤, hidaehyunlee/프로젝트 저장소의 코드를 clone 한다.&#x20;
   * forked from의 원본 저장소 clone `X`

#### 2. 오픈소스 GitHub 저장소 Upstream 설정

```
git remote add upstream 오픈소스공식깃헙저장소 url
```

* `upstream`: 오픈소스 공식 GitHub URL (또는 팀프로젝트 URL)
* `origin`: 나의 Fork 저장소 GitHub URL&#x20;

```
git remote -v 

origin ~~~~
upstream ~~~~
```

최신 업데이트 내용을 유지하기 위해 공식 오픈소스 리모트 저장소의 URL을 항상 유지하고 있어야 한다.
