๐Ÿ“š Computer Science/Git

[Git] Commit ํ•ฉ์น˜๊ธฐ & Commit ๋ฉ”์„ธ์ง€ ์ˆ˜์ •(rebase)

ibelieveinme 2022. 6. 24. 10:11
728x90

 

rebase๋ฅผ ์‚ฌ์šฉํ•ด์„œ 11๊ฐœ์˜ ์ปค๋ฐ‹์„ ํ•ฉ์ณ๋ด…์‹œ๋‹น.


[๋กœ์ปฌ ์ €์žฅ์†Œ์— Commit ํ•œ๊ฑฐ ํ•ฉ์น˜๊ธฐ]

 

1. ํ„ฐ๋ฏธ๋„์„ ์—ด์–ด์„œ ์•„๋ž˜ ๊ตฌ๋ฌธ ์ž…๋ ฅ

 git rebase -i HEAD~3

 

 

2. ํ•ฉ์น  commit ์„ ํƒํ•ด์„œ ํ‚ค์›Œ๋“œ๋ฅผ s ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.

: ๋งจ ์œ„ commit ๋ฉ”์„ธ์ง€(๋งจ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹)๋Š” pick์œผ๋กœ ๋ƒ…๋‘๊ณ  ํ•ฉ์น  commit ๋ฉ”์„ธ์ง€๋“ค(๋‚˜๋จธ์ง€)๋Š” s๋กœ ๋ฐ”๊พผ๋‹ค.

: vi ํŽธ์ง‘ํ•  ๋• esc ํ‚ค ๋ˆ„๋ฅด๊ณ  i ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋˜๊ณ , :wq ๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ €์žฅํ›„ ์ข…๋ฃŒํ•ด์ค€๋‹ค.

 

 

3. ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

: ์ปค๋ฐ‹์„ ํ•ฉ์ณค์„ ๋•Œ commit ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Œ€๋กœ ์ €์žฅ์ข…๋ฃŒํ•˜๋ฉด ๋ชจ๋“  ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๊ฐ€ ์‹น ๋‚˜์˜จ๋‹ค. ํ•„์š”์—†๋Š” ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ง€์›Œ์ฃผ๊ณ  ํ•œ์ค„๋กœ ์ •๋ฆฌํ•ด์ฃผ์ž.

 

 

4. ์ €์žฅํ›„ ์™„๋ฃŒํ•ด์„œ ๊ฒฐ๊ณผ ํ™•์ธํ•˜๊ณ  push ํ•˜๊ธฐ !

: 11๊ฐœ -> 1๊ฐœ๋กœ ๋ฐ”๋€ ๋ชจ์Šต.

 

 

[์›๊ฒฉ ์ €์žฅ์†Œ์— Push ํ•œ Commit ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ]

 

1. ๋กœ์ปฌ์—์„œ ์ปค๋ฐ‹ ํ•ฉ์น˜๊ธฐ

git rebase -i HEAD~2 // HEAD๋กœ ๋ถ€ํ„ฐ 2๊ฐœ์˜ commit

 

2. ํ•ฉ์ณ์ง€๋Š” ์ปค๋ฐ‹ pick -> squash๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  :x (vi์—์„œ ์ €์žฅํ•˜๊ณ  ๋‚˜๊ฐ€๊ธฐ)

 

3. ํ•ฉ์นœ ์ปค๋ฐ‹์˜ ์ƒˆ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ

 

4. ๊ฐ•์ œ ํ‘ธ์‹œ (๋˜๋„๋ก์ด๋ฉด ํ˜ผ์ž ์ž‘์—…ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ๋งŒ)

git push origin <branch-name> --force

 

p.s) git commit message ์ˆ˜์ •(push ์ „์ด์–ด์•ผ ํ•จ. push ํ›„๋Š” ์–ด๋–ค ๋ณ€๊ฒฝ๋„ ํ•˜์ง€ ์•Š๋Š”๊ฑธ ์ถ”์ฒœ.)

 

1. ๊ฐ€์žฅ ์ตœ๊ทผ commit ๋ฉ”์„ธ์ง€ ์ˆ˜์ •

git commit --amend

: vi ์—์„œ esc -> i ํ‚ค ๋ˆŒ๋Ÿฌ์„œ ์ˆ˜์ • ํ›„, esc -> :wq ๋ˆŒ๋Ÿฌ์„œ ์ €์žฅํ›„ ๋‚˜์˜ค๋ฉด ๋จ~!

 

 

2. ์˜ค๋ž˜๋œ(์•„์ง push ์•ˆํ•œ) commit ๋ฉ”์„ธ์ง€ ์ˆ˜์ •

1) ์œ„์—์„œ ๋ช‡ ๋ฒˆ์งธ commit์„ ์ˆ˜์ •ํ• ๊ป€์ง€ ํ™•์ธ ํ›„, ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐœ์ˆ˜ ์ž…๋ ฅ.

git rebase -i HEAD~3

: ์œ„์—์„œ 3๊ฐœ์งธ์— ์žˆ๋Š” commit์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ.

 

2) ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ commit ๋ฉ”์„ธ์ง€์˜ ํ‚ค์›Œ๋“œ๋ฅผ  pick -> reward ์œผ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.

 

3) ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” vi ์ฐฝ์ด ๋„์›Œ์ง€๋ฉด ๋ณ€๊ฒฝํ•˜๋ฉด ๋จ!

: esc -> i ํ‚ค ๋ˆŒ๋Ÿฌ์„œ ์ˆ˜์ • ํ›„, esc -> :wq ๋ˆŒ๋Ÿฌ์„œ ์ €์žฅํ›„ ์ข…๋ฃŒ ! ๋.

 

728x90