git-rebase.md 1.5 KB

git rebase

๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜ ์œ„์— ์žˆ๋Š” ์ปค๋ฐ‹์„ ๋‹ค์‹œ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ „์ฒด ๋ธŒ๋žœ์น˜๋ฅผ ๋‹ค๋ฅธ ๊ธฐ์ €๋กœ "์ด๋™"ํ•˜์—ฌ ์ƒˆ ์œ„์น˜์— ์ปค๋ฐ‹์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ •๋ณด: https://git-scm.com/docs/git-rebase.

  • ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ๋‹ค๋ฅธ ์ง€์ •๋œ ๋ธŒ๋žœ์น˜ ์œ„์— ๋ฆฌ๋ฒ ์ด์Šค:

git rebase {{์ƒˆ_๊ธฐ์ €_๋ธŒ๋žœ์น˜}}

  • ์ปค๋ฐ‹์„ ์žฌ๋ฐฐ์น˜, ์ƒ๋žต, ๊ฒฐํ•ฉ ๋˜๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋Œ€ํ™”ํ˜• ๋ฆฌ๋ฒ ์ด์Šค ์‹œ์ž‘:

git rebase {{-i|--interactive}} {{๋Œ€์ƒ_๊ธฐ์ €_๋ธŒ๋žœ์น˜_๋˜๋Š”_์ปค๋ฐ‹_ํ•ด์‹œ}}

  • ์ถฉ๋Œํ•˜๋Š” ํŒŒ์ผ ํŽธ์ง‘ ํ›„, ๋ณ‘ํ•ฉ ์‹คํŒจ๋กœ ์ค‘๋‹จ๋œ ๋ฆฌ๋ฒ ์ด์Šค ๊ณ„์†ํ•˜๊ธฐ:

git rebase --continue

  • ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ์ปค๋ฐ‹์„ ๊ฑด๋„ˆ๋›ธ ๋•Œ, ๋ณ‘ํ•ฉ ์ถฉ๋Œ๋กœ ์ผ์‹œ ์ค‘์ง€๋œ ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ๊ฑด๋„ˆ๋›ฐ์–ด์„œ ๊ณ„์†ํ•˜๊ธฐ:

git rebase --skip

  • ์ง„ํ–‰ ์ค‘์ธ ๋ฆฌ๋ฒ ์ด์Šค ์ค‘๋‹จ (์˜ˆ: ๋ณ‘ํ•ฉ ์ถฉ๋Œ๋กœ ์ธํ•ด ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ):

git rebase --abort

  • ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ž˜๋œ ๋ฒ ์ด์Šค ์ œ๊ณต ๋ฐ ํ˜„์žฌ ๋ธŒ๋žœ์น˜ ์ผ๋ถ€๋ฅผ ์ƒˆ ๋ฒ ์ด์Šค๋กœ ์ด๋™:

git rebase --onto {{์ƒˆ_๊ธฐ์ €}} {{์ด์ „_๊ธฐ์ €}}

  • ๋งˆ์ง€๋ง‰ 5๊ฐœ์˜ ์ปค๋ฐ‹์„ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์ ์šฉํ•ด, ์žฌ๋ฐฐ์น˜, ์ƒ๋žต, ๊ฒฐํ•ฉ ๋˜๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉˆ์ถ”๊ธฐ:

git rebase {{-i|--interactive}} {{HEAD~5}}

  • ์ž‘์—… ๋ธŒ๋žœ์น˜ ๋ฒ„์ „์„ ์šฐ์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ์ถฉ๋Œ์„ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐ (theirs ํ‚ค์›Œ๋“œ๋Š” ์ด ๊ฒฝ์šฐ ๋ฐ˜๋Œ€ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค):

git rebase {{-X|--strategy-option}} theirs {{๋ธŒ๋žœ์น˜_์ด๋ฆ„}}