git(4) - branchπŸŒ²πŸ†


branch?

μ†Œν”„νŠΈμ›¨μ–΄ 개발 μ‹œ κ°œλ°œμžλ“€μ€ λ™μΌν•œ μ†ŒμŠ€μ½”λ“œλ₯Ό κ³΅μœ ν•΄μ„œ λ‹€λ£¨κ²Œ λœλ‹€. 만일 μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μΌν•œ μ†ŒμŠ€μ½”λ“œλ₯Ό 기반으둜 μ„œλ‘œ λ‹€λ₯Έμž‘업을 ν•˜κ²Œλ˜λŠ” κ²½μš°μ—λŠ” 각각 μ„œλ‘œ λ‹€λ₯Έ λ²„μ „μ˜ μ½”λ“œκ°€ μ—¬λŸ¬κ°ˆλž˜λ‘œ λ‚˜μ˜¬ 수 밖에 μ—†λ‹€.


이런 κ²½μš°μ— κ°œλ°œμžλ“€μ΄ λ™μ‹œμ— λ‹€μ–‘ν•œ μž‘μ—…μ„ ν•  수 있게 ν•΄μ£ΌλŠ” κΈ°λŠ₯이 브랜치(branch)λ‹€. λΈŒλžœμΉ˜λŠ” 각자 독립적인 μž‘μ—… μ˜μ—­(repository) μ•ˆμ—μ„œ μ†ŒμŠ€μ½”λ“œλ₯Ό λ³€κ²½ν•  수 μžˆλ‹€. λ˜ν•œ, μž‘μ—… 후에 μ›λž˜ 버전과 비ꡐ ν•΄ λ‹€λ₯Έ ν•˜λ‚˜μ˜ μƒˆλ‘œμš΄ 버전을 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλ‹€.


1. branch κ΄€λ ¨ λͺ…λ Ήμ–΄

Git branchλ₯Ό μœ„ν•΄ root-commit(졜초 컀밋)이 ν•„μš”ν•˜λ‹€.

  1. branch 생성

    • branch name λ―Έ μž…λ ₯μ‹œ 브랜치 λͺ©λ‘ 쑰회
    (master) $ git branch {branch name}
    (master) $ git branch --all # μ„œλ²„μ— μžˆλŠ” λͺ¨λ“  브랜치 λͺ©λ‘ 확인
    (master) $ git branch example
    


  2. branch 이동

    (master) $ git checkout {branch name}
    (master) $ git switch {branch name}
    (master) $ git checkout example
    


  3. branchλ₯Ό μƒμ„±ν•˜λ©΄μ„œ 이동(생성과 이동 λ™μ‹œμ—)

    (master) $ git checkout -b {branch name}
    (master) $ git switch -b {branch name}
    (master) $ git checkout -b example
    


  4. branch μ‚­μ œ

    (master) $ git branch -d {branch name}
    (master) $ git push origin --delete # μ„œλ²„μ— μžˆλŠ” 브랜치 μ‚­μ œ
    (master) $ git branch -d example
    


  5. branch λͺ©λ‘

    (master) $ git branch
    

git(5) - mergeμ—μ„œ 계속

κ΄€μ‹¬μžˆμ„ 포슀νŒ