2022. 1. 7. 03:58γSystem μμ μ€/νμ κ΄λ ¨
π Forking WorkFlow λ°©μμ νμ
- λͺ¨λ νλ‘μ νΈ μ°Έμ¬μκ° κ°μΈ λ‘컬 μ μ₯μμ 곡κ°λ μμ μ μ격 μ μ₯μ(μ€μ μ격 μ μ₯μλ₯Ό forkν κ²), μ΄ λκ°μ μ μ₯μλ₯Ό κ°μ§κ³ νμ μ μ§ννλ λ°©μμΈ κ²μ΄μμ.
- λͺ¨λ μ½λ κΈ°μ¬μκ° μ€μ μ μ₯μμ νΈμνλ κ²μ΄ μλλΌ, κ°μ μμ μ μ격 μ μ₯μμ νΈμνκ³ μ΄ λ΄μ©μ μ€μ μ격 μ μ₯μμ Pull Request ν©λλ€! κ·Έλ¦¬κ³ νλ‘μ νΈ κ΄λ¦¬μ(Owner)κ° λ€λ₯Έ κ°λ°μλ€μ κΈ°μ¬λΆ(PR)μ μ€μ μ격 μ μ₯μμ λ³ν©ν μ§ μν μ§ κ²°μ νλ κ²μ΄ νΉμ§μΈ κ²μ΄μμ.
- μ€νμμ€ νλ‘μ νΈμ λ§μ΄ μ¬μ©νλ λ°©μ
μ€μ μ격 μ μ₯μ, μμ μ μ격 μ μ₯μ, λ‘컬 μ μ₯μ κ°λ
- μ€μ μ격 μ μ₯μ : μ¬λ¬ λͺ μ΄ κ°μ νλ‘μ νΈλ₯Ό κ΄λ¦¬νλ λ° μ¬μ©λλ κ·Έλ£Ή κ³μ (Organization)μ μ€λ¦½λ μ격 μ μ₯μ
- μμ μ μ격 μ μ₯μ : remote repository, κΉνλΈμ repository
- λ‘컬 μ μ₯μ : local repository, λ΄ PCμ μ μ₯λλ κ°μΈ μ μ© μ μ₯μ
π μ€μ μ격 μ μ₯μλ₯Ό ν¬ν¬(fork)ν΄μ μμ λ§μ μ격 μ μ₯μ μ μ
- μ€μ μ격 μ μ₯μλ₯Ό λμ κΉνλΈ κ³μ μ μ₯μμ 볡μ νλ€λ κ°λ .
- μμ μ κΉνλΈ κ³μ μ μ€μ μ격 μ μ₯μμ λκ°μ λ΄μ©μ μ μ₯μκ° λ³΅μ λλ€.
- κ°μΈ κ³΅κ° μ μ₯μλ‘ μ μ₯λλ―λ‘ μ€μ μ격 μ μ₯μμ λ 립μ μΌλ‘ μ΄μλλ€.

π νλ‘μ νΈ μ°Έμ¬μλ git clone λͺ λ ΉμΌλ‘ λ‘컬 μ μ₯μ μμ±
- git clone λͺ λ ΉμΌλ‘ μμ μ μ격 μ μ₯μ(forkνκ³ μ μ₯μ μμ μ κ³μ μ μμ λ μ μ₯μ)λ₯Ό λ‘컬 μ μ₯μμλ€ λ³΅μ ν΄μΌ νλ κ²μ΄μμ. μ΄ λΆλΆμ λ± νλ²λ§ ν΄ μ£Όλ©΄ λλ΅λλ€!
$ cd Desktop
$ git clone [μμ μ μ격 μ μ₯μ URL]

π μ격 μ μ₯μ μ°κ²°νκΈ° (μ΅μ΄ 1ν)
- κΉνλΈ μ μ₯μμ push νκ±°λ pull ν λ λ§€λ² urlλ₯Ό μμ±νκΈ° λ²κ±°λ‘μ΄ κ²μ΄μμ.
- κ·Έλμ κ° urlμ μ΄λ¦μ λΆμ¬μ€ μ μλ κ²μ΄μμ.
- μ΄λ¦μ μ무λ κ²λ λΆμ¬λ λμ§λ§, μΌλ°μ μΌλ‘ ν¬ν¬ν μμ μ μ격 μ μ₯μλ origin(git clone ν λ μλμΌλ‘ originμΌλ‘ μμ±)
- νλ‘μ νΈ μ€μ μ격 μ μ₯μλ upstreamμΌλ‘ μ΄λ¦μΌλ‘ μ§λκ² λ³΄ν΅μΈ κ²μ΄μμ.
(μ΄ λΆλΆμ μλμΌλ‘ μμ±λμ§ μμ μ§μ λͺ
λ Ήμ΄λ₯Ό μμ±ν΄μ μ§μ νμ)
$ git remote add upstream [μ€μ μ격 μ μ₯μ url]

π μμ μ΄ κ΅¬νν κΈ°λ₯ μ΄λ¦μΌλ‘ λΈλμΉλ₯Ό νλ μμ±, κ·Έ λΈλμΉλ‘ μ΄λν λ€ νλ‘μ νΈ μμ μ μ§ν
- μλ‘μ΄ κΈ°λ₯ κ°λ°μ μν΄, master λΈλμΉμ 격리λ μλ‘μ΄ branchλ₯Ό λ§λ€μ΄μΌνλ κ²μ΄μμ.
- ꡬνν κΈ°λ₯ μ΄λ¦μΌλ‘ λΈλμΉ μ΄λ¦μ μ§λλ€. (ex. map branch, weapon branch . . .)
- μλ‘ λ§λ λΈλμΉλ‘ μ΄λν λ€ μ½λλ₯Ό μμ±νκ³ λ³κ²½λ΄μ©μ 컀λ°νλ©° νλ‘μ νΈλ₯Ό μ§νν΄μΌ νλ κ²μ΄μμ.
- μ£Όμ! λ°λμ master λΈλμΉμμ λΈλμΉλ₯Ό μμ±ν΄μΌ νλ κ²μ΄μμ!
$ git checkout -b [branch name]
μ λͺ λ Ήμ΄λ μλμ λ λͺ λ Ήμ΄λ₯Ό ν©ν κ²μ΄μμ.
$ git branch [branch name] // μλ‘μ΄ λΈλμΉ μμ±
$ git checkout [branch name] // ν΄λΉ νλμΉλ‘ μμ
μμΉ μ΄λ

π λ‘컬 μ μ₯μμμ 컀λ°ν μ΄λ ₯μ μμ μ μ격 μ μ₯μλ‘ push
- κΈ°λ₯ ꡬνμ λ§μΉ ν 컀λ°ν λ΄μ©μ νΈμ ν λλ νλ‘μ νΈ μ€μ μ격 μ μ₯μκ° μλλΌ, 볡μ (clone)νλ μμ μ μ격 μ μ₯μλ‘ νΈμν΄μΌ νλ κ²μ΄μμ.
- νΈμνκ³ λλ©΄ λμ μ격 μ μ₯μμλ λκ°μ λΈλμΉκ° μκΈ°λ κ²μ΄μμ.
$ git add . // μμ μ΄ λ³κ²½, μΆκ°ν λͺ¨λ νμΌμ μ€ν
μ΄μ§ μμ(μ»€λ° μ€λΉ μν)μ μΆκ°,
$ git commit -m "μ»€λ° λ©μΈμ§" // add ν νμΌλ€μ 컀λ°νλ€.
$ git push origin [branch name] // [branc name]μ ν΄λΉνλ λΈλμΉλ₯Ό μμ μ μ격 μ μ₯μμ push

π νλ‘μ νΈ κ΄λ¦¬μμκ² μμ μ κΈ°μ¬λΆμ λ°μν΄ λ¬λΌλ pull requestλ₯Ό λμ§λ€.
- λ΄κ° λ§λ κΈ°λ₯μ μ€μ μ격 μ μ₯μμ λ°μνκΈ° μν΄μ , νλ‘μ νΈ κ΄λ¦¬μμκ² λ°μ μμ²(pull request)ν΄μΌ νλ κ²μ΄μμ.
- λμ μ격μ μ₯μ κΉνλΈ νμ΄μ§μμ ꡬνν κΈ°λ₯μ λΈλμΉλ₯Ό μ νν΄ pull request λ²νΌμ λλ¬ μμ²νλ©΄ λλ κ²μ΄μμ.

π νλ‘μ νΈ κ΄λ¦¬μλ λ³κ²½ λ΄μ©μ νμΈν ν μ€μ μ격 μ½λ λ² μ΄μ€μ λ³ν©(merge)
- λͺ¨λ νμμ΄ λ³κ²½ν μ½λ λ΄μ©μ νμΈνκ³ νλ‘μ νΈ κ΄λ¦¬μλ λ³ν©(merge)λ₯Ό μ§νν΄μΌ νλ κ²μ΄μμ.
- μΆ©λμ΄ μΌμ΄λ κ²½μ° νμλ€κ³Ό ν©μ ν μΆ©λ λ΄μ©μ μμ ν ν λ³ν©μ μ§ννλ κ²μ΄ μ€μν κ²μ΄μμ.
- λ³ν©μ΄ μ±κ³΅νλ©΄ μ€μ μ격 μ μ₯μμ master λΈλμΉμλ μλ‘μ΄ λ΄μ©μ΄ κ°±μ λμ΄μλ μνκ° λ κ²μ΄μμ.
- μ€μ μ격 μ μ₯μμ map branchκ° μκΈ°λ κ²μ΄ μλ, master λΈλμΉμ map branch λ΄μ©μ΄ κ°±μ λλ κ²μ΄μμ.

π μ€μ μ격 μ μ₯μμ μμ μ λ‘컬 μ μ₯μλ₯Ό λκΈ°ν νκΈ° μν΄ μμ μμΉλ₯Ό master branchλ‘ μ΄λ
- μ€μ μ½λ λ² μ΄μ€κ° λ³κ²½λμμΌλ―λ‘, μμ μ λ‘컬 μ μ₯μλ₯Ό λκΈ°ν ν΄μ μ΅μ μνλ‘ λ§λ€μ΄μΌνλ κ²μ΄μμ.
- μ΅μ μνλ‘ λ§λ€κΈ° μ΄μ μ λ‘컬 μ μ₯μ μμ μμΉλ₯Ό master λΈλμΉλ‘ μ΄λν΄μΌνλ κ²μ΄μμ.
- μ£Όμ! master λΈλμΉλ‘ μ΄λ ν ν μλ‘μ΄ λ΄μ©(μ€μ μ격 μ μ₯μ λ³κ²½ λ΄μ©)μ λ°μμμΌ νλ κ²μ΄μμ.
$ git checkout master

π μ€μ μ격 μ μ₯μμ μ½λ λ² μ΄μ€μ μλ‘μ΄ μ»€λ°μ΄ μλ€λ©΄ λ‘컬 μ μ₯μμ κ°±μ
- μ€μ μ½λ λ² μ΄μ€κ° λ³κ²½λμμΌλ―λ‘, λͺ¨λ νλ‘μ νΈ νμμ μμ μ λ‘컬 μ μ₯μλ₯Ό λκΈ°ν ν΄μ μ΅μ μνλ‘ λ§λ€μ΄μΌνλ κ²μ΄μμ.
- μλμ λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄ μ΅μ μνλ‘ λκΈ°ν ν΄μΌ νλ κ²μ΄μμ.
- μ£Όμ νμΈμ! λ°λμ master λΈλμΉμμ κ°±μ ν΄μΌνλ κ²μ΄μμ!
1
|
$ git pull upstream master
|
cs |

π μλ‘μ΄ κΈ°λ₯μ μΆκ°νκΈ° μν΄ κ·Έ μμ μ λν branchλ₯Ό μμ±νμ¬ μμ
- μ΅μ μνλ‘ λκΈ°νλ λ‘컬 μ μ₯μμ master λΈλμΉμμ μλ‘μ΄ μμ μ λν λΈλμΉλ₯Ό μμ±νμ¬ λ λ€λ₯Έ μμ μ μ§ννλ©΄ λλ κ²μ΄μμ.

μ£Όλνλμ΄ μμ±ν λ΄μ©μ΄ λμμ΄ λμ ¨μΌλ©΄ μ’κ² μ΅λλ€! νΉμλΌλ μ λͺ»λ μ λ³΄κ° μλ€λ©΄ λκΈμ μμ€ν νΌλλ°± λΆν λλ¦¬κ² μ΅λλ€!