Skip to content

Latest commit

ย 

History

History
118 lines (84 loc) ยท 2.88 KB

File metadata and controls

118 lines (84 loc) ยท 2.88 KB

{ Git with GitHub } #3 - Branch ๊นƒ ๋ธŒ๋žœ์น˜

branch

# 1. branch ์ƒ์„ฑ
git branch <branch-name>

# 2. branch ์ „์ฒด ๋ณด๊ธฐ
git branch

# 3. branch ์ „ํ™˜
git checkout <branch-name>

# 4. ์†Œ์Šค ์ˆ˜์ • & add & commit ์ดํ›„
git push origin <branch-name>

git log

# ๋‹ค๋ฅธ ๋™๋ฃŒ ํด๋”
git clone <git-remote-url>

git pull

# main ๋ธŒ๋žœ์น˜๋กœ merge
# sub branch์—์„œ ์ˆ˜์ •ํ•œ ์†Œ์Šค ๋‚ด์šฉ์„ main ๋ธŒ๋žœ์น˜ ๋™์ผ ํŒŒ์ผ์— ๋ฐ˜์˜
# ๋ชฉ์ ์ง€์—์„œ ์†Œ์Šค ๊ฐ€์ ธ์˜ค๊ธฐ! (์ˆ˜์‹ ์ฒ˜์—์„œ merge ์ฒ˜๋ฆฌ)
git checkout main
git merge <branch-name>
git branch
git log

# conflict (non fast-forward)
git status

# local branch ๋ณด๊ธฐ, ์‚ญ์ œ
local> git branch
local> git branch -d <branch-name>

# remote branch ๋ณด๊ธฐ, ์‚ญ์ œ
remote> git branch -r
remote> git push --delete origin <branch-name>

# ์–‘์ชฝ branch ๋ชจ๋‘ ๋ณด๊ธฐ (local branch, remote branch)
git branch -a
# branch ์—ฐ์Šต

git branch br1
git branch
git checkout br1

# ์†Œ์Šค ์ˆ˜์ • ํ›„
git add --all
git commit -am "๋ฉ”์„ธ์ง€"

# git branch -r
git branch -a

git push origin br1

git checkout main

# merge ์ „์— ๋‹ค๋ฅธ ์  ์ฒดํฌ
git diff br1

# patch
git checkout -p br1 [<ํŒŒ์ผ๋ช…>]

a/y

git add --all

# commitํ•  ๋‚ด์šฉ ์ฒดํฌ
git status

git commit -am "patch"

git push origin main

# ์„œ๋ฒ„์˜ ํŠน์ • ๋ธŒ๋žœ์น˜๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ
# origin(์„œ๋ฒ„)
git checkout -t origin/<branch-name>

git checkout br1

git pull origin br1

[Note]

  • main ๋ธŒ๋žœ์น˜ (main ์†Œ์Šค, ์„œ๋น„์Šค ๋˜๋Š” ์†Œ์Šค)
    • ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜ (๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ž‘์—…ํ•˜๋Š” ์†Œ์Šค, ์„œ๋น„์Šค ์˜ํ–ฅ ์ฃผ์ง€ X, ๊ธฐ๋Šฅ ๋ถ„ํ• )
  • git commit -m "๋ฉ”์„ธ์ง€" (commit ๋ฉ”์„ธ์ง€๋งŒ ๋„ฃ๊ธฐ)
  • git commit -am "๋ฉ”์„ธ์ง€" (add/staging๋„ ํ•˜๊ณ  ๋ฉ”์„ธ์ง€๋„ ๋™์‹œ์— ๋„ฃ๊ธฐ)
  • git add --all (์ง€๋‚œ commit ์ดํ›„๋กœ ์‹ ๊ทœ๋กœ ์ƒ์„ฑ๋œ ๋ชจ๋“  ํŒŒ์ผ์„ add stage์— ์ถ”๊ฐ€)
  • git pull (์„œ๋ฒ„์˜ main -> local)
  • git checkout -t origin/branch์ด๋ฆ„ (์„œ๋ฒ„์˜ ํŠน์ • branch -> local)
  • git checkout -p ๋ธŒ๋žœ์น˜์ด๋ฆ„ (local branch ๊ฐ€์ ธ์˜ค๊ธฐ)
  • remote์˜ HEAD๊ฐ€ ์‹ค์ œ๋กœ main ๋ธŒ๋žœ์น˜์ž„
    local์—๋Š” HEAD๊ฐ€ ๋”ฐ๋กœ ์—†๊ณ  working directory์— ์žˆ๋Š” ์†Œ์Šค๊ฐ€ ์‹ค์ œ HEAD์ž„
    (main๊ณผ ๊ฐ•ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ)
  • branch ์ƒ์„ฑ ๋ฐ ๋ณ€๊ฒฝ ์ „์— commit ์ ˆ๋Œ€๋กœ ์žŠ์ง€ ๋ง๊ธฐ!
    ์ปค๋ฐ‹ ์•ˆํ•˜๊ณ  ๋ธŒ๋žœ์น˜ ์˜ฎ๊ฒจ๋‹ค๋‹ˆ๋ฉด ์ปค๋ฐ‹ ์•ˆํ•œ ์†Œ์Šค ์œ ์‹ค๋  ์ˆ˜ ์žˆ์Œ
  • ๋ณดํ†ต Github (Git ์„œ๋ฒ„ ์ œ๊ณต ์„œ๋น„์Šค)์— ์ปค๋ฐ‹ํ•˜๊ณ  ๊ทธ ์ปค๋ฐ‹ํ•œ ๋‚ด์šฉ์„ ๊ฐ€์ง€๊ณ  ์‹ค ์„œ๋ฒ„๋กœ ๋ฐฐํฌํ•จ
    ๋ฐ”๋กœ ๋ฐฐํฌํ•˜๋ฉด ์œ„ํ—˜ํ•จ
  • git pull์€ ๋ฌด์กฐ๊ฑด main ๋ธŒ๋žœ์น˜ ์†Œ์Šค ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ
  • ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ•จ๊ป˜ write ํ•˜๊ธฐ ์œ„ํ•ด์„œ => github collaborator ์ถ”๊ฐ€
  • repository fork ํ•œ ๊ฒƒ์€ ์›๋ณธ repo๋ž‘ ๋‹ค๋ฆ„
    ํ•ญ์ƒ git clone์€ ์›๋ณธ์œผ๋กœ ๋ฐ›๊ณ  fork๋œ ๊ฒƒ์€ ๋‚˜๋งŒ์˜ url์ธ ๊ฒƒ์„ ์ธ์ง€