πŸŽ‹ Git Branch

2019. 07. 06

κΆŒκΈ°μ›…

πŸŽ‹ Git Branch

🌳 λΈŒλžœμΉ˜λŠ” 무엇인가

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

🌲 브랜치 관리

🌴 브랜치 Workflows

πŸŽ‹ 리λͺ¨νŠΈ 브랜치

🌡 Rebase

🎍 Sum up

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

브런치 μ•„λ‹ˆμ—μš”... 브런치라고 ν•˜μ§€ λ§μ•„μ£Όμ„Έμš”...

Git 을 μ“°λŠ” 이유. μ•ŒνŒŒμ΄μž μ˜€λ©”κ°€

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

Git 은 Snapshot 으둜 μƒνƒœλ₯Ό μ €μž₯ν•©λ‹ˆλ‹€

(μ•ž λ°œν‘œμž 뢄듀이 이미 μ–˜κΈ° ν•˜μ…¨μœΌλ¦¬λΌ 믿음)

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

Branch λŠ”, μƒˆλ‘œμš΄ 파일 ꡬ쑰λ₯Ό λ§Œλ“€μ–΄ λ‚΄κ±°λ‚˜ ν•˜λŠ” μ°½μ‘°κ°€ μ•„λ‹Œ

μ–΄λ–€ 컀밋을 가리킬 것인가에 λŒ€ν•œ Pointer 일 λΏμž…λ‹ˆλ‹€

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

Branch λŠ”, μƒˆλ‘œμš΄ 파일 ꡬ쑰λ₯Ό λ§Œλ“€μ–΄ λ‚΄κ±°λ‚˜ ν•˜λŠ” μ°½μ‘°κ°€ μ•„λ‹Œ

μ–΄λ–€ 컀밋을 가리킬 것인가에 λŒ€ν•œ Pointer 일 λΏμž…λ‹ˆλ‹€

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

Branch λ₯Ό μƒμ„±ν•˜λ©΄ .git/refs/heads/**/*

μœ„μ™€ 같은 κ²½λ‘œμ— μƒˆλ‘œμš΄ pointer νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€

🌳 λΈŒλžœμΉ˜λž€ 무엇인가

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

브랜치λ₯Ό μ–Έμ œ, μ™œ 써야 ν•˜λ‚˜μš”? (3점)

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

_μ΅œμ’….pptx, _μ§„μ§œμ˜μ§„μ§œλ£¨λ‘œλ‹€κ°€.pptx ν•œ 파일만으둜 ν•  수 μ—†μ–΄μ„œ

μš°λ¦¬λ„ 이미 브랜치λ₯Ό κ²½ν—˜ν•˜μ§€ μ•Šμ•˜μ„κΉŒ....?

Β 

κ²°κ΅­ 잘 λŒμ•„κ°€λŠ” λ¬΄μ–Έκ°€λŠ” μœ μ§€ν•œ 채, μƒˆλ‘œμš΄ μž‘μ—…μ„ ν•˜κ³  μ‹Άμ–΄μ„œ!

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

3-way Merge

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

X

A

Y

B

Text

Fast-Forward

feature

master

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

X

A

Y

B

Text

Fast-Forward /Merged

feature

master

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

X

A

Y

B

C

Text

Recursive (Non Fast-Forward)

master

feature

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

X

A

Y

B

C

Text

Recursive (Non Fast-Forward) / Merged

master

feature

C

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

Fast Forward

β†’ 브랜치의 정보가 없어지고, ν•˜λ‚˜μ˜ Tree κ°€ 됨

Β 

Non Fast-Forward

β†’ 브랜치의 정보가 보쑴되고, Merge Commit 생성

Β 

Squash

β†’ Merge Commit, 브랜치 정보 λͺ¨λ‘ 없어짐

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

Resolve Conflicts

파일의 같은 뢀뢄을 μˆ˜μ •ν•  λ•Œ λ°œμƒν•¨

mergetool β†’ VSCode, IntelliJ κ°€ 훨씬 μž˜ν•΄μ€Œ

πŸŽ„ λΈŒλžœμΉ˜μ™€ Merge 의 기초

Resolve Conflicts

🌲 브랜치 관리

브랜치 생성/μ‚­μ œ 등에 κ΄€λ ¨λœ λ‚΄μš©μ΄λ―€λ‘œ κ°„λž΅νžˆ

πŸŽ‹ 리λͺ¨νŠΈ 브랜치

원격 μ €μž₯μ†Œμ˜ λΈŒλžœμΉ˜μ— λŒ€ν•΄ araboja

πŸŽ‹ 리λͺ¨νŠΈ 브랜치

origin/master? μ™œ origin μΈκ°€μš”?

git clone -o doondoon 을 ν•΄λ³΄μ„Έμš” κ·Έλƒ₯ git clone 의 κΈ°λ³Έ κ°’ μž…λ‹ˆλ‹€

Git Branch

By Doon Doon

Git Branch

  • 600