Git collaboration
Shared Repository Model
μ΄κΈ° μΈν
μ€μ μ μ₯μ: GitHub, GitLab, Bitbucket λ±μμ 곡λ μμ ν μ격 μ μ₯μ(remote repository)λ₯Ό λ§λ λ€
μ΄κΈ°ν: κ° νμ(A, B, C)μ΄ μ격 μ μ₯μλ₯Ό ν΄λ‘ (clone)ν΄μ λ‘컬 μ μ₯μλ₯Ό μ€λΉνλ€
git clone <repository_url>
Branch μ¬μ©: κ° νμμ μμ μ μμ μ μν΄ μ branch λ₯Ό μμ±νλ€
git switch -c {branch name}
μ½λ μμ±: κ°μ μμ μ΄ λ§‘μ κΈ°λ₯μ΄λ λ²κ·Έ μμ μμ μ μ§ννκ³ , λ³κ²½ λ΄μ©μ commitνλ€
git add .
git commit -m "Add login feature"
μμ μ΄ λλ νμμ μμ μ λΈλμΉλ₯Ό μ격 μ μ₯μλ‘ pushνλ€
git push origin {branch name}
Pull Request(PR) μμ±: GitHubμ΄λ GitLabμμ PRμ λ§λ€μ΄ μ½λ 리뷰λ₯Ό μμ²νλ€
git checkout main
git merge feature/<μμ
_λ΄μ©>
git push origin main
Conflict (νμ μ)
λ§μ½ Aμ Bκ° κ°μ νμΌμ μμ νλ€λ©΄ Merge Conflictκ° λ°μν μ μλ€. μ΄λ, μΆ©λ(conflict)μ ν΄κ²°νκ³ λ€μ λ³ν©νλ€
conflict λ°μν κ²½μ° λ¨Έμ§ν λΈλμΉ(main) μ½λ κ°μ Έμ€κΈ°
git checkout {branch name} # μ΄λ―Έ ν΄λΉ λΈλμΉμ μμΌλ©΄ μ
λ ₯ μν΄λ μκ΄ μμ
git pull origin main # main or master
conflict λ°μν λΆλΆ μ½λ μμ
git add .
git commit -m ""
git push
μ£ΌκΈ°μ μΈ λκΈ°ν
λͺ¨λ νμμ λ©μΈ λΈλμΉμ μ΅μ μνλ₯Ό μ£ΌκΈ°μ μΌλ‘ pull ν΄μ μμ νλ€
git pull origin main
Last updated