Skip to content

Latest commit

Β 

History

History
169 lines (101 loc) Β· 10.8 KB

2021-08-12-opensource.md

File metadata and controls

169 lines (101 loc) Β· 10.8 KB

μ•Ό, λ„ˆλ‘ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ν•  수 μžˆμ–΄ (feat. μ•Όλ‚˜λ‘)

πŸ’‘ 이 글은 μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ ν™œλ™μ„ ν„ν•˜ν•˜κ±°λ‚˜ ν¬ν™”ν™”ν•˜λ €λŠ” λͺ©μ μ΄ μ•„λ‹ˆλΌ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ ν™œλ™μ— μ’€ 더 μ‰½κ²Œ λ‹€κ°€κ°ˆ 수 μžˆλ„λ‘ κ·Έ 과정을 λ‹¨μˆœν™”ν•˜μ—¬ μž‘μ„±ν•œ κΈ€μž…λ‹ˆλ‹€.

μ˜€ν”ˆμ†ŒμŠ€ μƒνƒœκ³„μ™€ κΈ°μ—¬

μš°λ¦¬λŠ” ν˜„μž¬ μ˜€ν”ˆμ†ŒμŠ€μ˜ ν˜œνƒμ„ λ°›λŠ” μ‹œλŒ€μ— μ‚΄κ³  μžˆμŠ΅λ‹ˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ²½λ ₯이 μŒ“μΌμˆ˜λ‘ 그리고 μ˜€ν”ˆμ†ŒμŠ€ μƒνƒœκ³„μ™€ κ°€κΉŒμ›Œμ§ˆμˆ˜λ‘ 자주 λ“£κ±°λ‚˜ ν•˜λŠ” 말이 있이 μžˆμŠ΅λ‹ˆλ‹€.

μ˜€ν”ˆμ†ŒμŠ€μ— κΈ°μ—¬ν•˜μž. (유튜브 μ‹œμž‘ν•˜μž.)

λ¬Όλ‘  μ‚¬λžŒλ§ˆλ‹€ μ˜€ν”ˆμ†ŒμŠ€μ— κΈ°μ—¬ν•˜λ €λŠ” μ΄μœ λŠ” λ‹€μ–‘ν•©λ‹ˆλ‹€.

μ‹€λ ₯을 ν–₯μƒμ‹œν‚€κ±°λ‚˜ ν‰νŒ/κ²½λ ₯을 ν‚€μšΈ λͺ©μ μœΌλ‘œ ν•  μˆ˜λ„ 있고 λ‹€λ₯Έ μ‚¬λžŒλ“€κ³Ό ꡐλ₯˜ν•˜κΈ° μœ„ν•΄μ„œ μ°Έμ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„λ‹ˆλ©΄ λ‹¨μˆœνžˆ 개발이 즐겁고 μ˜€ν”ˆμ†ŒμŠ€ 세계가 ν₯λ―Έλ‘œμ›Œμ„œ κΈ°μ—¬ν•˜λŠ” μ‚¬λžŒλ„ μžˆμŠ΅λ‹ˆλ‹€.

κ·Έ 동기가 무엇이 λ˜μ—ˆλ“  μ˜€ν”ˆμ†ŒμŠ€ μƒνƒœκ³„ λ°œμ „μ— κΈ°μ—¬ν•œλ‹€λŠ” 것은 맀우 μΉ­μ°¬ 받을 일이자 개인의 λ°œμ „μ—λ„ 도움이 λ˜λŠ” ν™œλ™μž…λ‹ˆλ‹€.

μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬μ˜ μž₯λ²½

'μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬'라고 κ²€μƒ‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όκ°€ λ‚˜μ˜΅λ‹ˆλ‹€.

img.png

μ’‹μ•˜μ–΄! μ‹œμž‘ν•΄λ³΄μž...

일단 μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬λ₯Ό μœ„ν•΄μ„œ ν•„μš”ν•œ 사전지식과 κΈ°μ—¬ν•  수 μžˆλŠ” 방법듀이 검색 결과둜 λ‚˜μ˜΅λ‹ˆλ‹€.

일단 git을 곡뢀해야 ν•œλ‹€κ³  λ‚˜μ˜€κ³  githubμ—μ„œ κ°€μž₯ λ§Žμ€ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈκ°€ μ§„ν–‰λ˜κ³  μžˆμœΌλ‹ˆ github에 μ΅μˆ™ν•΄μ Έμ•Ό ν•œλ‹€κ³  λ‚˜μ˜΅λ‹ˆλ‹€.

그리고 μ›¬λ§Œν•œ μ˜€ν”ˆμ†ŒμŠ€λ“€μ€ μ˜μ–΄λ‘œ λ˜μ–΄ μžˆμœΌλ‹ˆ μ˜μ–΄ 곡뢀λ₯Ό ν•˜λ©΄ λ©λ‹ˆλ‹€... ν•˜μ•„...

λ¬Όλ‘  μ•žμ„œ μ–ΈκΈ‰ν•œ 사전지식과 기여방법은 μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ν™œλ™μ„ ν•˜λŠ” 데에 μ€‘μš”ν•œ 지침이 λ˜μ§€λ§Œ 원둠적인 사둀가 λ§Žλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ’€ κ³Όμž₯ν•˜λ©΄ 지ꡬλ₯Ό 지킀기 μœ„ν•΄μ„œ 길에 μžˆλŠ” μ“°λ ˆκΈ° μ’€ 쀍고 λΆ„λ¦¬μˆ˜κ±°λ₯Ό 잘 ν•˜λŠ” 걸둜 μ‹œμž‘ν•˜κ³  싢은데 마치 κΈ°ν›„λ³€ν™”λ‚˜ ν™˜κ²½μƒνƒœν•™κ³Ό κ΄€λ ¨λœ 자료λ₯Ό 찾아봐야할 것 같은 λŠλ‚Œμž…λ‹ˆλ‹€.

κ·Έλž˜μ„œ 이번 2021 μ˜€ν”ˆμ†ŒμŠ€ μ»¨νŠΈλ¦¬λ·°μ…˜ 아카데미에 μ°Έμ—¬ν•˜λ©΄μ„œ 배운 μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ 방법과 생애 졜초(?)둜 github둜 μ˜€ν”ˆμ†ŒμŠ€μ— κΈ°μ—¬ν•œ κ²½ν—˜μ„ κ³΅μœ ν•˜μ—¬ μ’€ μ‰½κ²Œ ν’€μ–΄λ‚΄κ³ μž ν•©λ‹ˆλ‹€. (μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ν•œ 썰 ν‘Όλ‹€.)

저도 ν–ˆμœΌλ‹ˆκΉ... μ—¬λŸ¬λΆ„λ„...

you-can-do

μ•Ό, λ„ˆλ‘ ν•  수 μžˆμ–΄

μ˜€ν”ˆμ†ŒμŠ€λ₯Ό μœ„ν•œ μ΅œμ†Œν•œμ˜ GitHub 사전 지식

κΈ°λŠ₯

  • Fork: λ‹€λ₯Έ μ‚¬λžŒμ˜ 원격 μ €μž₯μ†Œλ₯Ό κ·ΈλŒ€λ‘œ 볡사해 λ‚΄ κ³„μ •μ˜ 원격 μ €μž₯μ†Œλ‘œ λ§Œλ“œλŠ” 것을 의미. 🍴Fork둜 집어 κ°„λ‹€.
  • Issue: 버그 리포트, κΈ°λŠ₯ μ œμ•ˆ, 질문 λ“± ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ λ°œμƒν•˜λŠ” λͺ¨λ“  이슈
  • Pull Request: λ‚΄ μ €μž₯μ†Œμ˜ λ³€κ²½ λ‚΄μš©μ„ λ‹€λ₯Έ μ‚¬λžŒμ˜ μ €μž₯μ†Œμ— λ°˜μ˜ν•˜λ„λ‘ μš”μ²­ν•˜λŠ” 것.

μ €μž₯μ†Œ

img_3.png

원격 μ €μž₯μ†Œ (Remote Repository)

둜컬 μ €μž₯μ†Œ (Local Repository)

  • local: λ‚΄κ°€ origin μ €μž₯μ†Œλ₯Ό clone(원격 μ €μž₯μ†Œλ₯Ό 둜컬 μ €μž₯μ†Œμ— 볡제)ν•œ 후에 λ‘œμ»¬μ—μ„œ μž‘μ—…ν•˜λŠ” μ €μž₯μ†Œ

μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ 방법

GitHubλ₯Ό ν™œμš©ν•œ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬λŠ” λ‹€μŒμ˜ 4λ‹¨κ³„λ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

1. Forkν•˜κΈ°

img_5.png 관심이 μžˆκ±°λ‚˜ κΈ°μ—¬ν•˜κ³  싢은 ν”„λ‘œμ νŠΈ(upstream)λ₯Ό μ°Ύμ•„μ„œ 우츑의 🍴Fork둜 λ‚΄ κ³„μ •μ˜ 원격 μ €μž₯μ†Œ(origin)둜 λ³΅μ œν•©λ‹ˆλ‹€.

img_6.png

λ‚΄κ°€ forkν•œ μ €μž₯μ†ŒλŠ” μ΄λ ‡κ²Œ ν‘œμ‹œλ©λ‹ˆλ‹€.

λ§ˆμŒμ— λ“œλŠ” ν”„λ‘œμ νŠΈλ‹€ μ‹ΆμœΌλ©΄ 돈이 λ“œλŠ” 것도 μ•„λ‹ˆλ‹ˆ 우츑 μƒλ‹¨μ˜ ⭐Starλ₯Ό λˆŒλŸ¬μ„œ μ˜€ν”ˆμ†ŒμŠ€ κ°œλ°œμžμ—κ²Œ 감사λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€. (ꡬ독 μ’‹μ•„μš” μ•ŒλžŒμ„€μ •κΉŒμ§€)

(μ—¬λŸ¬λΆ„μ€ 이미 ⭐Starλ₯Ό λˆŒλŸ¬μ€€ κ²ƒλ§Œ 해도 μ˜€ν”ˆμ†ŒμŠ€μ— κΈ°μ—¬ν•œ κ²ƒμž…λ‹ˆλ‹€.)

우츑 μƒλ‹¨μ˜ πŸ‘Watchλ₯Ό λˆ„λ₯΄λ©΄ λ³Έ ν”„λ‘œμ νŠΈμ˜ 변경사항과 κ΄€λ ¨λœ μ•Œλ¦Όμ„ 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ€λΆ€λΆ„ 처음 μ‹œμž‘ν•  λ•Œ κΈ°μ—¬ν•˜κ³ μž ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό κ³ λ₯΄λŠλΌ μ‹œκ°„μ„ 많이 ν• μ• ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

(μž…μ‚¬ν•  νšŒμ‚¬λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μΈμƒμ˜ λ™λ°˜μžλ₯Ό μ°ΎλŠ” 것이 μ•„λ‹™λ‹ˆλ‹€...)

λ°˜λ“œμ‹œ 유λͺ…ν•˜κ³  규λͺ¨κ°€ 큰 μ˜€ν”ˆμ†ŒμŠ€μΌ ν•„μš”λ„ μ—†μœΌλ‹ˆ λ„ˆλ¬΄ μ‹ μ€‘ν•˜μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€.

(규λͺ¨κ°€ 클수둝 contributor와 issueκ°€ λ„ˆλ¬΄ 많고 ν”„λ‘œμ νŠΈ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜λŠ” 데에 였래 걸리기 λ•Œλ¬Έμ— μ²˜μŒμ—λŠ” μž‘μ€ ν”„λ‘œμ νŠΈκ°€ 쒋은 것 κ°™μŠ΅λ‹ˆλ‹€.)

μ–Έμ œλ“ μ§€ λ°”κΏ€ 수 μžˆλŠ” 것이기 λ•Œλ¬Έμ— 관심이 μƒκΈ°λŠ” ν”„λ‘œμ νŠΈλ©΄ 일단 forkν•΄μ„œ λ“€μ—¬λ‹€ λ³΄λŠ” 것을 μΆ”μ²œν•©λ‹ˆλ‹€.

λ‚˜μ˜ 원격 μ €μž₯μ†Œ(origin)둜 forkν•œ ν›„μ—λŠ” λ‚΄κ°€ μ›ν•˜λŠ” λŒ€λ‘œ μˆ˜μ •μ„ 해도 본래의 μ €μž₯μ†Œ(upstream)μ—λŠ” 영ν–₯을 주지 μ•ŠμœΌλ‹ˆ 마음껏 κ±΄λ“œλ €λ³΄κ³  μ•„λ‹ˆλ‹€ μ‹ΆμœΌλ©΄ μ €μž₯μ†Œ(origin)λ₯Ό μ‚­μ œν•˜λ©΄ λ©λ‹ˆλ‹€.

2. Issue 듀여닀보기

ν”„λ‘œμ νŠΈλŠ” forkν–ˆμœΌλ©΄ 이제 본격적으둜 ν”„λ‘œμ νŠΈλ₯Ό λ“€μ—¬λ‹€λ³Ό μ°¨λ‘€μž…λ‹ˆλ‹€.

img_7.png

Codeλ₯Ό λˆŒλŸ¬μ„œ λ‚˜μ˜€λŠ” μ €μž₯μ†Œ(origin) μ£Όμ†Œλ₯Ό git clone λͺ…λ Ήμ–΄λ‘œ λ‚΄λ €λ°›κ±°λ‚˜ Download ZIP을 λˆŒλŸ¬μ„œ λ‚˜μ˜ λ‘œμ»¬μ— λ‚΄λ €λ°›μŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ 메인에 μžˆλŠ” README.md을 ν†΅ν•΄μ„œ μ–΄λ– ν•œ ν”„λ‘œμ νŠΈμΈμ§€ λŒ€λž΅ νŒŒμ•…ν•©λ‹ˆλ‹€. μ—¬μœ κ°€ λœλ‹€λ©΄ contributing.md νŒŒμΌμ„ μ°Έκ³ ν•˜μ—¬ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬ν•  수 μžˆλŠ” 방법을 ν™•μΈν•©λ‹ˆλ‹€.

μ˜μ–΄λΌμ„œ 읽기 μ§€λ£¨ν•˜λ©΄ λ³Έ ν”„λ‘œμ νŠΈ(upstream)둜 κ°€μ„œ Issueλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. Issueμ—λŠ” μ˜€ν”ˆμ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ λ°œμƒν•œ λ²„κ·Έλ‚˜ 문제 ν˜Ήμ€ μ œμ•ˆν•˜κ³  싢은 κΈ°λŠ₯μ΄λ‚˜ κ°œμ„ μ‚¬ν•­λ“€μ΄ μ˜¬λΌμ˜΅λ‹ˆλ‹€.

κ°œλ°œν•˜λŠ” κ²ƒλΏλ§Œ μ•„λ‹ˆλΌ μ‚¬μš©ν•˜λ©΄μ„œ μƒκΈ°λŠ” μ§ˆλ¬Έλ„ Issue에 ν¬ν•¨λ©λ‹ˆλ‹€.

(그리고 Issueλ₯Ό μž‘μ„±ν•˜λŠ” 것 μžμ²΄λ‘œλ„ μ˜€ν”ˆμ†ŒμŠ€μ— κΈ°μ—¬ν•œ κ²ƒμž…λ‹ˆλ‹€.)

img_8.png

μ—¬κΈ° Issueλ₯Ό λ“€μ—¬λ‹€λ³΄λŠ” 것도 μ˜μ–΄λΌμ„œ μ–΄λ ΅κ³  μ§€λ£¨ν•˜λ‹€ μ‹ΆμœΌλ©΄ κ°€μž₯ μ‰½κ²Œ μ ‘κ·Όν•  수 μžˆλŠ” μ˜€νƒˆμž μ°ΎκΈ°λ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€. (음?)

μ•žμ„œ λ‘œμ»¬μ— cloneν•œ ν”„λ‘œμ νŠΈμ—μ„œ μ˜€νƒˆμžκ°€ μžˆλŠ”μ§€ μ°Ύμ•„λ΄…λ‹ˆλ‹€. μ˜€νƒˆμžλΏλ§Œ μ•„λ‹ˆλΌ λ“€μ—¬μ“°κΈ°κ°€ μ΄μƒν•œ 곳을 μˆ˜μ •ν•˜κ±°λ‚˜ μ–΄μƒ‰ν•œ ν‘œν˜„μ„ λ°”κΎΈλŠ” κ²ƒμœΌλ‘œλ„ κΈ°μ—¬λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ •ν•˜κ³  싢은 νŒŒμΌμ„ GitHubμ—μ„œ ν΄λ¦­ν•˜λ©΄ μš°μΈ‘μ— μžˆλŠ” πŸ–ŠοΈ(edit) λ²„νŠΌμ„ λˆŒλŸ¬μ„œ μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ©° git에 μ΅μˆ™ν•  경우 직접 νŒŒμΌμ„ μˆ˜μ •ν•˜μ—¬ git commit & push둜 λ‚΄ 원격 μ €μž₯μ†Œ(origin)에 λ°˜μ˜ν•©λ‹ˆλ‹€.

img_9.png

μ €λŠ” λ²„νŠΌ ν…μŠ€νŠΈμ˜ μ˜€νƒˆμžλ₯Ό μ°Ύμ•„μ„œ κ³ μ³€μŠ΅λ‹ˆλ‹€... γ…Žγ…Ž

3. Pull Request

λ‚΄ 원격 μ €μž₯μ†Œ(origin)μ—μ„œ λ°˜μ˜μ„ ν–ˆμœΌλ©΄ 메인 μ €μž₯μ†Œ(upstream)에 λ°˜μ˜ν•  μ°¨λ‘€μž…λ‹ˆλ‹€.

메인 μ €μž₯μ†Œ(upstream)에 λ°˜μ˜μ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ” Pull Request(PR)을 μž‘μ„±ν•΄μ•Όν•©λ‹ˆλ‹€.

img_1.png

λ„ˆμ—κ²Œ λ°₯ 말고 PR을 보낸닀

img_11.png λ¨Όμ € λ‚˜μ˜ μ €μž₯μ†Œ(origin)μ—μ„œ Pull Request λ²„νŠΌμ„ λˆ„λ¦…λ‹ˆλ‹€.

img_12.png λ‚˜μ˜ μ €μž₯μ†Œ(origin)의 λΈŒλžœμΉ˜μ—μ„œ PR을 받을 메인 μ €μž₯μ†Œ(upstream) 브랜치λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

μ €λŠ” bart2001/exporterhub.io μ €μž₯μ†Œ(origin)의 issue/72 λΈŒλžœμΉ˜μ—μ„œ NexClipper/exporterhub.io μ €μž₯μ†Œ(upstream)의 main 브랜치둜 PR을 λ³΄λƒˆμŠ΅λ‹ˆλ‹€.

(PR을 λ°›λŠ” 메인 μ €μž₯μ†Œμ˜ λΈŒλžœμΉ˜λŠ” 각 μ˜€ν”ˆμ†ŒμŠ€μ˜ κ°€μ΄λ“œλΌμΈμ— λ”°λΌμ„œ 상이할 수 μžˆμŠ΅λ‹ˆλ‹€.)

이제 메인 μ €μž₯μ†Œ(upstream)의 Pull Request 메뉴λ₯Ό ν΄λ¦­ν•˜λ©΄ μž‘μ„±ν•œ PR을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

PR κ³Όμ •μ—μ„œ μ˜€ν”ˆμ†ŒμŠ€ λ©”μΈν…Œμ΄λ„ˆ ν˜Ήμ€ λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ—¬λŸ¬κ°€μ§€ μ½”λ©˜νŠΈμ™€ μš”κ΅¬μ‚¬ν•­μ„ λŒ“κΈ€λ‘œ μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•΄μ„œ μˆ˜μ •μ΄ ν•„μš”ν•  κ²½μš°μ—λŠ” PR을 μ§„ν–‰ν•˜κ³  μžˆλŠ” λ‚˜μ˜ μ €μž₯μ†Œ(origin)의 브랜치(μ €μ˜ κ²½μš°λŠ” bart2001/exporterhub.io μ €μž₯μ†Œμ˜ issue/72 브랜치)μ—μ„œ νŒŒμΌμ„ GitHubμ—μ„œ μˆ˜μ •ν•˜κ±°λ‚˜ λ³€κ²½λœ νŒŒμΌμ„ git commit & push둜 λ°˜μ˜ν•΄μ£Όλ©΄ λ©λ‹ˆλ‹€.

μš”κ΅¬μ‚¬ν•­μ„ λͺ¨λ‘ μΆ©μ‘±ν–ˆλ‹€λ©΄ μ˜€ν”ˆμ†ŒμŠ€ λ©”μΈν…Œμ΄λ„ˆκ°€ Confirm Merge λ²„νŠΌμ„ λˆ„λ₯΄κ³  λ“œλ””μ–΄ 메인 μ €μž₯μ†Œ(upstream)에 반영이 λ©λ‹ˆλ‹€!

img_13.png

λ¬΄μ•Όν˜Έ! Merged!

4. Fetch

ν•˜λ‚˜μ˜ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈμ—λŠ” μ—¬λŸ¬ μ‚¬λžŒλ“€μ΄ κΈ°μ—¬ν•©λ‹ˆλ‹€.

λ‹€μ‹œ λ§ν•΄μ„œ λ‚΄κ°€ PR둜 λ³Έ μ €μž₯μ†Œ(upstream)에 변경사항을 λ°˜μ˜ν•˜λŠ” κ²ƒλΏλ§Œ μ•„λ‹ˆλΌ λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ PR에 μ˜ν•΄μ„œ λ‚˜μ˜ μ €μž₯μ†Œ(origin)와 λ³Έ μ €μž₯μ†Œ(upstream)의 ν˜•μƒμ€ 계속 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ fetch κΈ°λŠ₯을 ν†΅ν•΄μ„œ μ§€μ†μ μœΌλ‘œ λ³Έ μ €μž₯μ†Œ(upstream)와 λ‚˜μ˜ μ €μž₯μ†Œ(origin)의 μƒνƒœλ₯Ό λ§žμΆ”μ–΄ μ£Όμ–΄μ•Ό λ‚˜μ˜ 변경사항을 μΆ©λŒμ—†μ΄ PR을 ν†΅ν•΄μ„œ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜μ˜ μ €μž₯μ†Œ(origin)의 μš°μΈ‘μ— μžˆλŠ” πŸ”„Fetch upstream을 λˆŒλŸ¬μ„œ λ³Έ μ €μž₯μ†Œ(upstream)와 λ‚˜μ˜ μ €μž₯μ†Œ(origin)의 μƒνƒœλ₯Ό λ§žμΆ”μ–΄ μ€λ‹ˆλ‹€.

img_14.png

λ¬Όλ‘  git λͺ…λ Ήμ–΄κ°€ μ΅μˆ™ν•˜λ‹€λ©΄ git fetch & merge λͺ…λ Ήμ–΄λ‘œ λ™μΌν•˜κ²Œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

(μ—¬κΈ°μ„œ 좩돌이 μƒκΈ°λŠ” κ²½μš°λŠ” git에 λŒ€ν•œ μ–΄λŠ μ •λ„μ˜ 이해가 ν•„μš”ν•˜κ³  이 κΈ€μ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜λ―€λ‘œ λ‹€λ£¨μ§€λŠ” μ•Šκ² μŠ΅λ‹ˆλ‹€.)

마무리

μ‘°κΈˆμ€ μž₯λ‚œμŠ€λŸ½κ²Œ ν‘œν˜„ν•œ 감이 μžˆμ§€λ§Œ μ œκ°€ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈμ— μƒμ• μ΅œμ΄ˆ(?)둜 κΈ°μ—¬ν•œ κ²½ν—˜μ„ 짧게 κ³΅μœ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μš”μ•½ν•˜μžλ©΄ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜κ³  forkν•œ 후에 issue, pull request, fetch 과정을 λ°˜λ³΅ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ˜€ν•΄κ°€ μ†Œμ§€κ°€ μžˆμ„ 것 κ°™μ•„μ„œ λ‹€μ‹œ ν•œ 번 λ§μ”€λ“œλ¦¬λ©΄ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬κ°€ λ‹¨μˆœνžˆ μ˜€νƒˆμžλ₯Ό μ°Ύμ•„ κ³ μΉ˜λŠ” ν–‰μœ„λŠ” μ•„λ‹™λ‹ˆλ‹€.

이 글을 ν†΅ν•΄μ„œ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈ κΈ°μ—¬κ°€ μ–΄λ ΅κ³  λ§‰μ—°ν•˜λ‹€κ³  λŠλΌμ§€ μ•Šκ³  μž‘μ€ κ°œμ„ μ‚¬ν•­λΆ€ν„° λ°˜μ˜ν•˜λŠ” 것뢀터 μ‹œμž‘ν•  수 μžˆλ‹€λŠ” 것을 μ•Œμ•„κ°€μ…¨μœΌλ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€.

(κ°‘μžκΈ° λ§ˆλ¬΄λ¦¬κ°€ μ§„μ§€ν•΄μ Έμ„œ μ–΄μƒ‰ν•©λ‹ˆλ‹€.)

μ°Έκ³