- μΌν iOS μ± μꡬμ¬νμ νμ νλ€.
- μꡬμ¬νμ λν ꡬνμ μλ£ν ν μμ μ github μμ΄λμ ν΄λΉνλ λΈλμΉμ Pull Request(μ΄ν PR)λ₯Ό ν΅ν΄ μ½λ 리뷰 μμ²μ νλ€.
- μ½λ 리뷰 νΌλλ°±μ λν κ°μ μμ μ νκ³ λ€μ PUSHνλ€.
- λͺ¨λ νΌλλ°±μ μλ£νλ©΄ λ€μ λ¨κ³λ₯Ό λμ νκ³ μμ κ³Όμ μ λ°λ³΅νλ€.
μ μ₯μ λΈλμΉμ μμ μ github μμ΄λμ ν΄λΉνλ λΈλμΉκ° μ‘΄μ¬ν΄μΌ νλ€.
μμ μ github μμ΄λμ ν΄λΉνλ λΈλμΉκ° μλμ§ νμΈνλ€.
-
μμ μ github μμ΄λμ ν΄λΉνλ λΈλμΉκ° μλ κ²½μ° λΈλμΉ μμ± μμ² μ±λμ ν΅ν΄ λΈλμΉ μμ±μ μμ²νλ€. νλ‘μ νΈλ₯Ό μμ μ κ³μ μΌλ‘ forkνλ€. μ μ₯μ μ°μΈ‘ μλ¨μ fork λ²νΌμ νμ©νλ€.
-
forkν νλ‘μ νΈλ₯Ό μμ μ μ»΄ν¨ν°λ‘ cloneνλ€.
git clone https://github.com/{λ³ΈμΈ_μμ΄λ}/{μ μ₯μ μμ΄λ}
ex) https://github.com/godrm/swift-storeapp
- cloneν νλ‘μ νΈ μ΄λ
cd {μ μ₯μ μμ΄λ}
ex) cd swift-storeapp
- λ³ΈμΈ μμ΄λλ‘ λΈλμΉλ₯Ό λ§λ€κΈ° μν checkout
git checkout -t origin/λ³ΈμΈ_μμ΄λ
ex) git checkout -t origin/godrm
- κΈ°λ₯ ꡬνμ μν λΈλμΉ μμ± (μ°μλ²νΈλ₯Ό λΆμ¬λκ°λ€)
git checkout -b λΈλμΉμ΄λ¦
ex) git checkout -b store-step1
- commit
git status //νμΈ
git rm νμΌλͺ
//μμ λ νμΌ
git add νμΌλͺ
(or * λͺ¨λ) // μΆκ°/λ³κ²½ νμΌ
git commit -m "λ©μΈμ§" // 컀λ°
- λ³ΈμΈ μ격 μ μ₯μμ μ¬λ¦¬κΈ°
git push --set-upstream origin λΈλμΉμ΄λ¦
ex) git push --set-upstream origin store-step1
-
pull request
- pull requestλ github μλΉμ€μμ μ§νν μ μλ€.
- pull requestλ original μ μ₯μμ λΈλμΉ(μμ μ github μμ΄λ)μ μ λ¨κ³μμ μμ±ν λΈλμΉ μ΄λ¦μ κΈ°μ€μΌλ‘ νλ€.
ex) code-squad/swift-photoframe godrm λΈλμΉ κΈ°μ€ => godrm/swift-storeapp store-step1
-
code review λ° push
- pull requestλ₯Ό ν΅ν΄ νΌλλ°±μ λ°λλ€.
- μ½λ 리뷰 νΌλλ°±μ λν κ°μ μμ μ νκ³ λ€μ PUSHνλ€.
-
κΈ°λ³Έ(upstream) λΈλμΉ μ ν λ° base μ μ₯μ μΆκ°νκΈ°(μ΅μ΄ μμνκΈ° λ¨κ³ νλ²λ§ νλ©΄ λ¨)
git checkout λ³ΈμΈ_μμ΄λ git remote add upstream base_μ μ₯μ_url ex) git checkout godrm ex) git remote add upstream https://github.com/code-squad/swift-storeapp.git
- μμ κ°μ΄ base μ μ₯μ μΆκ°ν ν remote λΈλμΉ λͺ©λ‘μ λ³Έλ€.
git remote -v
-
κΈ°λ³Έ base μ μ₯μμ syncνκΈ° (PR λ³΄λΈ λ΄μ©μ μμ μ κΈ°λ³Έ μ μ₯μμ ν©μΉκΈ°)
git fetch upstream git rebase upstream/λ³ΈμΈ_μμ΄λ ex) git rebase upstream/godrm
-
λ€μ λ―Έμ μ ν΄κ²°ν κ²½μ° [5λ¨κ³ λΈλμΉ μμ±]λΆν° λ€μ μ§ν