๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ์ƒ์‚ฐ์„ฑ

[Git] ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

by ye-ha 2022. 2. 23.

์ด๋ฏธ pushํ•œ ์ƒํ™ฉ์ผ ๋•Œ, ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? 

1. git log๋ฅผ ํ™•์ธํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ปค๋ฐ‹์ด ๋ช‡ ๋ฒˆ์งธ ์ „์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. 

 

2. ์—ฌ์„ฏ๋ฒˆ์งธ ์ „์— ์žˆ๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

git rebase -i HEAD~6

๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

 

โ€‹3. command ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. (a ๋ˆ„๋ฅด๋ฉด ์ˆ˜์ • ๋ชจ๋“œ๋กœ ์ง„์ž…)

์ด๋Ÿฐ ๋ช…๋ น์–ด๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด reword๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

์—ฌ๊ธฐ์—์„œ๋Š” command๋งŒ pick์—์„œ reword๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ๋‹ซ๊ณ  ๋‚˜๊ฐ€๋ฉด (esc -> : -> wq ์ฐจ๋ก€๋กœ ๋ˆ„๋ฅด๊ธฐ) ์ง„์งœ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์ˆ˜์ •์€ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

 

4. ์•„๋ž˜์—์„œ ํ‰์†Œ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ๋‚˜๊ฐ€๋ฉด ๋œ๋‹ค. ์ˆ˜์ •ํ•˜๊ฒ ๋‹ค๋Š” ๋ช…๋ น์–ด๋ฅผ ๋„ฃ์€ ๋งŒํผ ํŒŒ์ผ์ด ์ƒˆ๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

 

5. ๋ฌด์‚ฌํžˆ ์ˆ˜์ •ํ•œ ๋‹ค์Œ ๊ฐ•์ œ๋กœ pushํ•ฉ๋‹ˆ๋‹ค.

git push --force origin team_

team_ ์ž๋ฆฌ์— ํ˜„์žฌ ์ž‘์—… ์ค‘์ด๋˜ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์จ์ฃผ๊ณ  ๊ฐ•์ œ๋กœ pushํ•˜๋ฉด ๋!

ํŒ€์›๊ณผ ํ•จ๊ป˜ ํ˜‘์—…ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ด ๋ชจ๋“  ๊ณผ์ •... ๋งค์šฐ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 


2. ๋ฐฉ๊ธˆ ์ปค๋ฐ‹ํ•œ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? 

git commit --amend

์ž…๋ ฅํ•˜๋ฉด ํŒŒ์ผ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. 

ํŒŒ์ผ ์—ด๋ฆฌ๋ฉด ์›ํ•˜๋Š” ๋Œ€๋กœ ์ˆ˜์ • ํ›„ ์ €์žฅ ๋‹ซ๊ธฐ (esc -> : -> wq ์ฐจ๋ก€๋กœ ๋ˆ„๋ฅด๊ธฐ) ๋!

 


3. push๋Š” ์•ˆํ–ˆ์ง€๋งŒ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? 

5๋ฒˆ์„ ์ œ์™ธํ•œ 1๋ฒˆ์˜ ๊ณผ์ •๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. 

๋Œ“๊ธ€