π μκ°
μμ§ Git μ μ¬μ©ν¨μ μμ΄ Pull Request μ μ΄μν λΆλ€μ μν κΈμ΄λ€.
Pull Requestλ 무μμΌκΉ?
π Pull Request λ?
Repository(νλ‘μ νΈ)μ Maker(μμ±μ), Collaborators(νλ ₯μ) κ° μλκΈ°μ Push κΆνμ΄ μμ§λ§, ν΄λΉ ꡬμ±μλ€μκ² Contribute λ₯Ό νκΈ° μν μμ²μ΄λ€.
μ‘°κΈ λ νμ΄ λ§νμλ©΄,
λ΄κ° μμ ν΄μΌνλ(νΉμ λ§μμ λλ) Repositoryκ° μλλ° μ½λμ κΈ°μ¬νκ³ μΆμ λ(λ λ°μ λ μ½λκ±°λ Makerμ Collaboratorsμ λμλλ μ½λ) λ΄κ° μμ ν μ½λκ° μμΌλ κ²ν ν, μ½λ λ³ν© μμ²μ νλ κ²μ΄λ€.
π μ¬κ±΄μ λ°λ¨
OOλ~~ A νλ‘μ νΈ μ΄μ #12451λ² μ²λ¦¬ λΆνλλ €μ~!
πμ΄λ³΄μλ μ΄ λ§μ λ£κ³ μΌλ§λ κΈ΄μ₯λ κΉ? λ§λ‘λ§ λ£λ μ΄μμ²λ¦¬λΌλ..
μ΄μ μ²λ¦¬λ₯Ό νλ λ°©λ²μ λ€μνλ€.
1. κΆνμ΄ μμ κ²½μ°, Repository μμ λ°λ‘ cloneμ λ μ issue branch λ‘ μμ μ μ§νν΄λ λκ³ ,
2. λ΄ Repository λ‘ Fork λ₯Ό λ μ λ΄κ° μμ λ‘κ² μμ ν΄λ μλ³Έ Repository μ μ§μ₯μ μ£Όμ§ μκ² μμ μ μ§νν΄λ λλ€.
μ΄ ν¬μ€ν μμλ PRμ μ£Όμ λ‘ λ€λ£¨κ³ μκΈ° λλ¬Έμ 2λ² κΈ°μ€μΌλ‘ μ€λͺ νκ² λ€.
π PR μ¬μ© λ¨κ³
- λμ Repository λ₯Ό λ΄ μ격 Repository μ Fork
- Local νκ²½μ clone
- μμ κ΅¬λΆ branch (μ μ©ν κΈ: Git branch & naming) μμ±
- μ½λ μμ (add, commit, push) - μ½λλ₯Ό μμ νλ λμ€ κΈ°μ‘΄ Repository μμ Fetchλ₯Ό ν΅ν΄ νλ‘μ νΈλ₯Ό κ°μ Έμ¨λ€
- Pull Request μμ±
- Merge Pull Request
- Merge μ΄ν λκΈ°ν λ° branch μμ
1οΈβ£Fork
Repository μμ Fork λ²νΌ μ ν
μμ μ Repository λ‘ κ°μ Έμ€λ κ³Όμ
μμ μ Repository μ Fork κ° μλ£λ λͺ¨μ΅
2οΈβ£Compare & Pull Request μμ±
μ½λλ₯Ό μμ νκ³ Push λ₯Ό μλ£νλ©΄, Fork λ₯Ό μ§νν Repository μ Compare & pull request λ²νΌμ΄ νμ±ν λλ€.
ν΄λΉ λ²νΌμ μ ννμ¬ λ©μμ§λ₯Ό μμ±νκ³ PR μ μμ±νλ€.
3οΈβ£ μ½λ 리뷰 λ° Merge Pull Request
Pull Requestλ₯Ό μμ λ°μ Maker λ λ³κ²½λ μ½λ λ΄μ©μ νμΈνλ 리뷰 κ³Όμ μ κ±°μΉ ν, Merge μ¬λΆλ₯Ό κ²°μ νλ€.
π μμ½ λ° κ²°λ‘
μμ½νμλ©΄
νλ‘μ νΈμ Repository λ₯Ό μ°Ύμ 'Fork' λ₯Ό λ μ λ΄ νλ‘μ νΈλ‘ κ°μ Έμ¨ ν, 'Local' νκ²½μ 'clone' ν΄μ branch μμ± ν, μ½λλ₯Ό μμ νλ€.
* μ½λλ₯Ό μμ νλ λμ€μ κΈ°μ‘΄ Repository μ λ³νκ° μλμ§ νμΈνκ³ , Fetch κΈ°λ₯μ ν΅ν΄ μ΅μ Repository μ 보λ₯Ό κ°μ Έμ μΆ©λμ λ°©μ§νλ©° μμ ν μ μλλ‘ μ μν΄μΌ νλ€.
μμ μ΄ μλ£λλ©΄ Forkλ Repository μμ Push λ₯Ό μ§ννμ¬ Pull Request κ³Όμ μ μμ²νλ€.
πλ μ½μ거리
π Git branch & naming
π λΆμ° νκ²½μμμ Git - νλ‘μ νΈμ κΈ°μ¬νκΈ°