[GitHub] ๐ŸชƒGit branch (ft. pull request)

TATAยท2023๋…„ 4์›” 12์ผ
0

GitHub

๋ชฉ๋ก ๋ณด๊ธฐ
3/5

โ–ท Git branch

๊ธฐ์กด main ๋ธŒ๋žœ์น˜์—์„œ์˜ ์ž‘์—…์€ ์œ ์ง€ํ•˜๊ณ , ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“  ๋ธŒ๋žœ์น˜์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

# ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก
git branch

# ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ๋ชจ๋“  ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ
git log

# -b ๊นƒ๋ฐœ. ํŠน์ • ๋ถ„๊ธฐ๊ฐ€ ์ฒดํฌ์•„์›ƒ๋˜๊ณ  ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ชจ๋“  ๋ถ„๊ธฐ๋ฅผ ๊ฐ€์ ธ์˜ด
git clone -b <branch> <repository>

๋ธŒ๋žœ์น˜ ์ƒ์„ฑ / ๋ณ€๊ฒฝ

git switch

switch : ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋กœ Git์ด ๋ฐ”๋ผ๋ณด๋Š” ๊ณณ. HEAD๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—….
-c : create๋ผ๋Š” ์˜๋ฏธ. ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ.

# feature๋ผ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ, -c๋ฅผ ๋ถ™์ธ๋‹ค.
git switch -c feature
# checkout์ด๋ผ๋Š” ๋ช…๋ น์–ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
git checkout -b feature

# ๊ธฐ์กด์— ์žˆ๋˜ main ๋ธŒ๋žœ์น˜๋กœ HEAD๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด, -c๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.
git switch main
git checkout main

๋ธŒ๋žœ์น˜ ํ•ฉ์น˜๊ธฐ

git merge

# ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
git commit -m "๊ธฐ๋Šฅ1์˜ ์„ธ๋ถ€ ๊ธฐ๋Šฅ1"
git commit -m "๊ธฐ๋Šฅ1์˜ ์„ธ๋ถ€ ๊ธฐ๋Šฅ2"
git commit -m "๊ธฐ๋Šฅ1 ๊ฐœ๋ฐœ ์™„๋ฃŒ"

# ๋จธ์ง€๋ฅผ ์œ„ํ•ด main ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜
git switch main

# main ๋ธŒ๋žœ์น˜๋กœ feat/todo ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉ
git merge feat/todo

But, ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ์‹œ์—๋Š” ๋กœ์ปฌ์—์„œ ํ•ฉ์ง€์ง€ ๋ง๊ณ , pull request ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์ถฉ๋ถ„ํžˆ ํ™•์ธํ•˜๊ณ  ๋‚œ ๋‹ค์Œ์— ๋จธ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

# ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
git commit -m "๊ธฐ๋Šฅ1์˜ ์„ธ๋ถ€ ๊ธฐ๋Šฅ1"
git commit -m "๊ธฐ๋Šฅ1์˜ ์„ธ๋ถ€ ๊ธฐ๋Šฅ2"
git commit -m "๊ธฐ๋Šฅ1 ๊ฐœ๋ฐœ ์™„๋ฃŒ"

# GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ํ‘ธ์‹œ
git push origin feat/todo

# GitHub์—์„œ Pull Request

๋ธŒ๋žœ์น˜ ์‚ญ์ œ

git branch -d

๋จธ์ง€๋œ feature ๋ธŒ๋žœ์น˜๋Š” ์ด๋ฏธ dev ๋ธŒ๋žœ์น˜์— ๊ธฐ๋ก์ด ์™„๋ฒฝํ•˜๊ฒŒ ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด ๋‚จ๊ฒจ๋‘˜ ์ด์œ ๊ฐ€ ์—†์–ด ์‚ญ์ œ๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค. ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ pull request๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ๋จธ์ง€๋˜๋ฉด, ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์‰ฝ๊ฒŒ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

# ํ„ฐ๋ฏธ๋„์—์„œ ์‚ญ์ œ
git branch -d <๋ธŒ๋žœ์น˜๋ช…>


# Git์€ ๋ธŒ๋žœ์น˜๊ฐ€ ํ•ฉ์ณ์ง€์ง€ ์•Š์œผ๋ฉด ์‚ญ์ œํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์„ค์ •์ด ๋˜์–ด์žˆ๋‹ค.
# ๋‹ค ๋งŒ๋“ค์ง€ ๋ชปํ•œ ๊ธฐ๋Šฅ์˜ ๊ธฐ๋ก์„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ, -D ์˜ต์…˜์„ ์“ฐ๋ฉด ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
git branch -D feat/todo

pull request


mergeํ•˜๋Š” ๋ฐฉ๋ฒ• / branch ์‚ญ์ œ

profile
๐Ÿพ

0๊ฐœ์˜ ๋Œ“๊ธ€