Github
cloneμ ν λ 맨 λμ ‘.’ μ μ λΆμ΄λ©΄ μ ν΄λκ° μμ±λκ³ , λΆμ΄λ©΄ νμ¬ λλ ν 리 μμΉμμ μμ±λλ€.
ex) git clone https://github.com/μ΄μ©κ³ μ μ©κ³ /μ΄μ©κ³ μ μ©κ³ .
λ ν¬μ§ν 리 νμ΄μ§ → settings → Manage access → invite a collaborator → μ΄λ ν μ¬μ©μ μ΄λ¦ κΈ°μ → μ΄λ λ°μ μ¬λμ μ΄λ©μΌλ‘ λ©μΌ λ°μ‘ → μλ½μ νλ©΄ μλ£
Branch
λ§μ½ AλΌλ κ°λ°μμ BλΌλ κ°λ°μκ° ν νλ‘μ νΈλ₯Ό κ°μ΄ νμ μ μ§ννλ€κ³ κ°μ νμ.
Aμ Bκ° μ½λλ₯Ό μμ±νκ³ λμμ 컀λ°μ νκ² λλ€λ©΄? → μΆ©λ λ κ°λ₯μ±μ΄ λ€λΆνλ€. (λκ°μ μ½λλ₯Ό λμμ μμ νκ³ μ»€λ°μ ν κ²½μ°)
λΈλμΉλ νΉμ 컀λ°μμ κ°μ§λ₯Ό μΉλ κ²μ΄λ€.
- HEADλΌλ κ²μ νμ¬μ λΈλμΉλ₯Ό κ°λ¦¬ν€λ κ²μ΄λ€.
- νμ git push origin master λ₯Ό ν΅ν΄ νΈμλ₯Ό νμΌλ©΄ νμ¬μ HEADλ masterλΌλ λΈλμΉμ΄λ€.
νμ μ μμ μν©κ³Ό κ°μ μΌμ΄ μΌμ΄λ μΆ©λμ΄ μΌμ΄λλ κ²μ λ°©μ§νκΈ° μν΄ λΈλμΉλ₯Ό μμ± νλ€
git branch hi
git checkout hi
- μ»€λ° 1(master HEAD)
- Aκ°λ°μμ Bκ°λ°μ κ°μ μ»€λ° μμ (μ»€λ° 1)μμ κ°μ λΈλμΉ μμ±
- μ»€λ° 1(master)μ κΈ°μ€μΌλ‘ λ λΈλμΉκ° μμ±λ¨.
- Aκ°λ°μλ μμ μ΄ μμ±ν hiλΌλ λΈλμΉλ‘ checkout ν μ½λλ₯Ό μμ± λ° μμ ν μμ λ΄μ© μ»€λ° ν push.
- Bκ°λ°μλ Aκ°λ°μμ μμ λ΄μ©μ fetch
- Bκ°λ°μ λν 컀λ°1(master)μμ helloλΌλ λΈλμΉ μμ± ν μ½λ μμ± λ° μμ ν μμ λ΄μ© μ»€λ° ν push
Merge
μ΄μ Aκ°λ°μμ Bκ°λ°μκ° κ°μμ λΈλμΉμμ μμ ν λ΄μ©μ master λΈλμΉλ‘ λ³ν©(merge) ν λμ΄λ€.
- Aκ°λ°μκ° μμ μ λΈλμΉ(hi)μμ git checkout master λͺ λ Ήμ΄λ₯Ό ν΅ν΄ master λΈλμΉλ‘ μ΄λνλ€.
- κ·Έλ¦¬κ³ μμ μ΄ μμ± νμλ λΈλμΉ(hi)λ₯Ό λ³ν©(merge) νλ€.
- masterλΈλμΉμ hiμ μ΅μ 컀λ°μ΄ λ°μ λ κ²μ νμΈνλ€.
- hiμ 컀λ°μ master λΈλμΉλ‘ push νλ€.
conflict
컨νλ¦νΈλ mergeλ₯Ό νμ λ μΆ©λμ΄ λ¬μλμ΄λ€.
λμΌν μ½λμμ μμ μ νκ³ λ¨Έμ§νμ λ λ°μνλ€.
μ΄ λ ν΄κ²° λ°©λ²μ μΆ©λ λλ λ μ½λ μ€μμ νλλ‘ μμ νμ¬μΌ νλ€.
amend
κΉλΉ‘νκ³ μμ λͺ» ν νμΌμ΄ μλ μνλ‘ μ»€λ°μ νμ λ μμ ν λ΄μ©μ λ°©κΈ λ§λ 컀λ°μ μΆκ° νκ³ μΆμ λ νΉμ μ»€λ° λ©μΈμ§λ₯Ό μμ νκ³ μΆμ λ μ¬μ©νλ€.
ν 컀λ°μ ν κΈ°λ₯μ΄ λ€μ΄κ°μΌ λ²μ κ΄λ¦¬κ° μννκ² μ΄λ£¨μ΄μ§κΈ° λλ¬Έμ κ°μ κΈ°λ₯μμμ μ½λ μΆκ° λ° μμ μ΄λΌλ©΄ μλ νλ 컀λ°μμ amendλ₯Ό νλ κ²μ΄ μ’λ€.
μ£Όμμ¬νμΌλ‘λ κ°μ λΈλμΉμμ λ λͺ μ΄ λμμ 컀λ°μ ν λ μ΄λ―Έ μ μ© λ 컀λ°μ amendλ₯Ό νλ©΄ λλ£μ λμ λ²μ μ΄ κΌ¬μΌ μ μκΈ° λλ¬Έμ λ°λμ νΌμ μλ λΈλμΉμμλ§ amendλ₯Ό μ¬μ©ν΄μΌ νλ€.
stash
λ³κ²½μ¬νμ μ»€λ° νμ§ μκ³ ν΅ ν΄λκ³ μΆμλ μ¬μ©νλ€.
reset
μλ 컀λ°μΌλ‘ λΈλμΉλ₯Ό λλλ¦¬κ³ μΆμ λ μ¬μ©νλ€.
reset ν κ·Έλ₯ push νλ©΄ μ΄λ―Έ μ¬νκΉμ§ push ν μ΄λ ₯μ΄ μκΈ° λλ¬Έμ μ€λ₯κ° λλ€.
κ·Έλμ force(κ°λ ₯) pushλ₯Ό ν΄μΌνλ€.
νΌμ μ°λ λΈλμΉμμ μ¬μ© ν κ².
revert
νΉμ 컀λ°μ λ³κ²½μ¬νμ λλλ €μ€μ μλ‘μ΄ μ»€λ°μ λ§λ€μ΄ μ€λ€.
cherry-pick
μνλ μ»€λ° νλλ₯Ό λΌμ λ΄κ° μνλ λΈλμΉμ λΆμ΄λ κ²μ΄λ€.