๐ ์คํฌ๋ฆฝํธ ์ฌ์ฉ๋ฒ
1๏ธโฃ git b: ๋ธ๋์น ๊ด๋ฆฌ
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด:
git b --list: ๋ก์ปฌ ๋ธ๋์น ๋ชฉ๋ก ์กฐํgit b -d <keyword>: ํค์๋ ํฌํจ ๋ธ๋์น ์ผ๊ด ์ญ์
๐น git b --list
๊ธฐ์กด์ git branch --list ๋ช
๋ น์ ๊ฐ์ํํ ๋ฒ์ ์ผ๋ก,
ํ์ฌ ์กด์ฌํ๋ ๋ชจ๋ ๋ก์ปฌ ๋ธ๋์น๋ฅผ ํ๋์ ๋ณด์ฌ์ค๋๋ค.
๐น git b -d <keyword>
ํน์ ํค์๋๋ฅผ ํฌํจํ ๋ธ๋์น๋ค์ ์ฐพ์ ์๋์ผ๋ก ์ญ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด git b -d feat๋ feat๊ฐ ํฌํจ๋ ๋ธ๋์น๋ค์ ์ฐพ์์ ์ ๊ฑฐํ๋ฉฐ,
์ญ์ ๋ ๋ธ๋์น๋ branches.json์์๋ ์๋์ผ๋ก ์ ๋ฆฌ๋ฉ๋๋ค.
2๏ธโฃ git s: ๋ธ๋์น ์ ํ ๋ฐ ์์ฑ
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด:
git s <branch>: ๊ธฐ์กด ๋ก์ปฌ ๋ธ๋์น๋ก ์ ํgit s -c <new-branch>: ์ ๋ธ๋์น ์์ฑ ํ ์ ํ (parent ๊ธฐ๋ก๋จ)
๐น git s <branch>
๊ธฐ์กด์ git switch <branch> ๋ช
๋ น์ ๊ทธ๋๋ก ๊ฐ์ผ ๋จ์ถ ๋ช
๋ น์
๋๋ค.
๋ก์ปฌ์ ์กด์ฌํ๋ ๋ธ๋์น๋ก ๋น ๋ฅด๊ฒ ์ด๋ํ ์ ์์ต๋๋ค.
๐น git s -c <new-branch>
git switch -c <new-branch> <current> ๋ช
๋ น์ ๋์ฒดํฉ๋๋ค.
ํ์ฌ ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ๋ฐ๋ก ์ ํํฉ๋๋ค.
์ถ๊ฐ๋ก, ๋ ๋ธ๋์น์ ๊ด๊ณ๋ฅผ branches.json์ ๊ธฐ๋กํ์ฌ
git r parent ์ ์๋ ๋ฆฌ๋ฒ ์ด์ค ๊ธฐ์ค์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
3๏ธโฃ git r: ๋ฆฌ๋ฒ ์ด์ค ์๋ํ
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด:
git r this: ํ์ฌ ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก rebasegit r all: ํ์ฌ ๋๋ ํ ๋ฆฌ + ํ์ Git ์ ์ฅ์ ๋ชจ๋ rebasegit r parent:branches.json๊ธฐ์ค ๋ถ๋ชจ ๋ธ๋์น๋ก rebase
๐น git r this
๊ธฐ์กด์ git fetch + git rebase๋ฅผ ์๋ํํฉ๋๋ค.
ํ์ฌ ์ฒดํฌ์์๋ ๋ธ๋์น ๊ธฐ์ค์ผ๋ก ์ต์ ์ํ๋ฅผ ๊ฐ์ ธ์ ๋ณํฉํฉ๋๋ค.
๐น git r all
ํ์ ๋๋ ํ ๋ฆฌ์ .git ํด๋๊ฐ ์กด์ฌํ๋ ์ ์ฅ์๊น์ง ์ํํ๋ฉฐ
๊ฐ๊ฐ์ ๋ํด git fetch && git rebase๋ฅผ ์ํํฉ๋๋ค.
๋ชจ๋
ธ๋ ํฌ ํ๊ฒฝ ๋๋ Git ์๋ธ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ์ ์ฉํฉ๋๋ค.
๐น git r parent
upstream์ด ์๋, git s -c์ ํตํด ๊ธฐ๋ก๋ branches.json์ ๊ธฐ์ค์ผ๋ก
๋
ผ๋ฆฌ์ ์ธ ๋ถ๋ชจ ๋ธ๋์น๋ก๋ถํฐ fetch & rebase๋ฅผ ์ํํฉ๋๋ค.
๋ธ๋์น ์์ฑ ๋น์์ base ๋ธ๋์น๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๋ฏ๋ก,
๋ณต์กํ ๋ธ๋์น ์ ๋ต์ ์ฌ์ฉํด๋ ์ ํํ๊ฒ ๋์ํฉ๋๋ค.
4๏ธโฃ git p: ํธ์ ๊ฐ์ํ
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด:
git p this: ํ์ฌ ๋ธ๋์น ํธ์git p this -f: ๊ฐ์ ํธ์
๐น git p this
๊ธฐ์กด์ git push origin HEAD๋ฅผ ๋จ์ํํ ๋ช
๋ น์
๋๋ค.
ํ์ฌ ๋ธ๋์น๋ฅผ ์๊ฒฉ ์ ์ฅ์์ ํธ์ํฉ๋๋ค.
๐น git p this -f
git push origin HEAD --force์ ๋์ผํ๊ฒ ๋์ํ๋ฉฐ,
๊ฐ์ ๋ก ์ปค๋ฐ์ ๋ฐ์ด์ผ ํ๋ ์ํฉ์์ ์ ์ฉํฉ๋๋ค.