๐Ÿ“˜ Ep.05 | ์‹ค์ˆ˜๋„ ๊ธฐ๋ก์ด๋‹ค โ€” reset๊ณผ revert

์ˆ˜์ฑ„ํ™” ์Šคํƒ€์ผ์˜ ๋…ธํŠธ์— โ€˜RESETโ€™๊ณผ โ€˜REVERTโ€™๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๊ฐ ํŽ˜์ด์ง€์— ์ ํ˜€ ์žˆ๊ณ , ์™ผ์ชฝ์—๋Š” ๋˜๋Œ๋ฆผ ์•„์ด์ฝ˜, ์˜ค๋ฅธ์ชฝ์—๋Š” ์ดˆ๋ก์ƒ‰ ์ฒดํฌํ‘œ์‹œ๊ฐ€ ๊ทธ๋ ค์ ธ ์žˆ๋‹ค.

๐Ÿงญ ์‹œ๋ฆฌ์ฆˆ ์ „์ฒด ๋ณด๊ธฐ โ†’ [๋Šฆ๊นŽ์ด Git ์ž…๋ฌธ์„œ ๋ชฉ์ฐจ]
๐Ÿ“˜ Ep.00 | Prologue. ์™œ ๋‚˜๋Š” Git์„ ๋ฐฐ์šฐ๊ธฐ๋กœ ํ–ˆ๋Š”๊ฐ€?
๐Ÿ“˜ Ep.01 | Git์€ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋‚˜์˜ ์ผ๊ธฐ์žฅ์ด๋‹ค
๐Ÿ“˜ Ep.02 | Git ์„ค์น˜๋ถ€ํ„ฐ ๋”ฐ๋ผํ•˜๊ธฐ โ€“ ๋‚˜๋งŒ์˜ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ
๐Ÿ“˜ Ep.03 | git init๊ณผ ์ฒซ ์ปค๋ฐ‹ โ€” ์ด๊ณณ์—์„œ ๊ธฐ๋ก์ด ์‹œ์ž‘๋œ๋‹ค
๐Ÿ“˜ Ep.04 | ์ปค๋ฐ‹์€ ์‹œ๊ฐ„์˜ ๋ถ๋งˆํฌ โ€” log, diff, HEAD
๐Ÿ“˜ Ep.05 | ์‹ค์ˆ˜๋„ ๊ธฐ๋ก์ด๋‹ค โ€” reset๊ณผ revert
๐Ÿ“˜ Ep.06 | ๋‚˜๋งŒ์˜ ํ‰ํ–‰ ์šฐ์ฃผ โ€” ๋ธŒ๋žœ์น˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
๐Ÿ“˜ Ep.07 | GitHub๋ž€ ๋ฌด์—‡์ธ๊ฐ€ โ€” ๊ธฐ๋ก์˜ ์ฐฝ๊ณ 
๐Ÿ“˜ Ep.08 | README๋Š” ๋””์ง€ํ„ธ ์ž๊ธฐ์†Œ๊ฐœ์„œ๋‹ค
๐Ÿ“˜ Ep.09 | ๋‚˜๋งŒ์˜ Git ๋ฃจํ‹ด ๋งŒ๋“ค๊ธฐ
๐Ÿ“˜ Ep.10 | Git์œผ๋กœ ์‚ถ์„ ์ •๋ฆฌํ•œ๋‹ค โ€” ๋Šฆ๊นŽ์ด๋“ค์˜ ํšŒ๊ณ ๋ฒ•

๐ŸŒŠ ์•„๋ฌด๊ฒƒ๋„ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์„ ๊ฒƒ ๊ฐ™์€ ๋‚ 

์‚ด๋‹ค ๋ณด๋ฉด ๊ทธ๋Ÿฐ ๋‚ ์ด ์žˆ๋‹ค.

โ€œ๋‚ด๊ฐ€ ์™œ ๊ทธ๋žฌ์„๊นŒโ€๋ผ๋Š” ๋ง๋งŒ ์ž๊พธ ๋จธ๋ฆฌ์— ๋งด๋„๋Š” ๋‚ .

์‹œ๊ฐ„์„ ๋˜๋Œ๋ฆฌ๊ณ  ์‹ถ์ง€๋งŒ

ํ˜„์‹ค์€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ์ง€ ์•Š๋‹ค.

ํ•˜์ง€๋งŒ Git์€ ์šฐ๋ฆฌ์—๊ฒŒ ์ด๋ ‡๊ฒŒ ๋งํ•œ๋‹ค:

โ€œ์‹ค์ˆ˜๋„ ๊ดœ์ฐฎ์•„.

์›ํ•˜๋ฉด ์–ธ์ œ๋“  ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์–ด.โ€


๐Ÿ› ย git reset โ€” ์‹œ๊ณ„๋ฅผ ๋˜๊ฐ๋Š” ๊ธฐ์ˆ 

reset์€ ๋‚˜๋ฅผ

์ด์ „์˜ ํŠน์ • ์ปค๋ฐ‹ ์‹œ์ ์œผ๋กœ ์ด๋™์‹œ์ผœ์ค€๋‹ค.

๋งˆ์น˜ ์‹œ๊ฐ„์„ ๋˜๋Œ๋ฆฌ๋Š” ๋“ฏํ•œ ๋ช…๋ น์–ด๋‹ค.

git reset --hard [์ปค๋ฐ‹ID]

์˜ˆ:

git reset --hard 892fbe0b9

๐Ÿ›‘ ์ด ๋ช…๋ น์–ด๋Š” ๋˜๋Œ๋ฆฐ ์ดํ›„์˜ ๋ชจ๋“  ์ปค๋ฐ‹๊ณผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋‚ ๋ ค๋ฒ„๋ฆฐ๋‹ค.

๊ทธ๋ž˜์„œ **โ€˜ํ•˜๋“œโ€™**๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ–๋Š”๋‹ค.


๐Ÿ’ก reset์€ ์กฐ์‹ฌํ•ด์„œ ์จ์•ผ ํ•œ๋‹ค

  • –soft๋Š” ์ปค๋ฐ‹๋งŒ ์ทจ์†Œํ•˜๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ์œ ์ง€
  • –mixed๋Š” ์ปค๋ฐ‹๊ณผ staging๋งŒ ์ทจ์†Œํ•˜๊ณ  ์ž‘์—… ํŒŒ์ผ์€ ์œ ์ง€
  • –hard๋Š” ๋ชจ๋“  ๊ฑธ ์ด์ „ ์ƒํƒœ๋กœ ๋ฎ์–ด์”Œ์›€

๋งˆ์น˜ ์ผ๊ธฐ์žฅ์„ ์ฐข๊ณ  ๋‹ค์‹œ ์“ฐ๋Š” ๋А๋‚Œ์ด์ง€.


๐Ÿ” 

git revert โ€” ์‹ค์ˆ˜๋งˆ์ € ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•

reset์€ ํ”์ ์„ ์—†์• ๋Š” ๋ฐ˜๋ฉด,

revert๋Š” ์‹ค์ˆ˜๋ฅผ ๋˜๋Œ๋ฆฌ๋˜ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธด๋‹ค.

git revert [์ปค๋ฐ‹ID]

์ด ๋ช…๋ น์–ด๋Š” ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด

์ด์ „ ์ปค๋ฐ‹์„ โ€œ๋ฌดํšจํ™”โ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

์˜ˆ:

git revert 892fbe0b9

โ†’ โ€œ์ด ์ปค๋ฐ‹์€ ์‹ค์ˆ˜์˜€์œผ๋ฏ€๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.โ€๋ผ๋Š” ํ•˜๋‚˜์˜ ํ”์ ์ด ๋‚จ๋Š”๋‹ค.


๐Ÿง  reset vs revert, ๋‘˜์˜ ์ฐจ์ด

ํ•ญ๋ชฉresetrevert
๋™์ž‘ ๋ฐฉ์‹ํŠน์ • ์ปค๋ฐ‹์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ณ  ์ดํ›„ ์‚ญ์ œํŠน์ • ์ปค๋ฐ‹์„ ๋ฌดํšจํ™”ํ•˜๋Š” ์ƒˆ๋กœ์šด ์ปค๋ฐ‹ ์ƒ์„ฑ
๊ธฐ๋ก ์œ ์ง€ ์—ฌ๋ถ€โŒ ์‚ญ์ œ๋จ (hard์˜ ๊ฒฝ์šฐ)โœ… ๋ชจ๋“  ํžˆ์Šคํ† ๋ฆฌ ๋ณด์กด
ํ˜‘์—… ์‹œ ์‚ฌ์šฉโŒ ์œ„ํ—˜ (๊ณต๋™ ์ž‘์—… ๋ถˆ์ผ์น˜ ๋ฐœ์ƒ)โœ… ์•ˆ์ „ (ํžˆ์Šคํ† ๋ฆฌ ๊ณต์œ ๋จ)

ํ˜ผ์ž ํ•  ๋• reset,

ํ•จ๊ป˜ ํ•  ๋• revert.


โœ๏ธ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ

์‹ค์ˆ˜๋Š” ์ง€์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

๋˜์ƒˆ๊ธฐ๊ณ  ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

reset์€ ๊ณผ๊ฑฐ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ธฐ์ˆ ,

revert๋Š” ๊ณผ๊ฑฐ๋ฅผ ํ’ˆ๊ณ  ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š”

๋‘˜ ๋‹ค ์‚ฌ์šฉํ•  ์ค„ ์•„๋Š” ๋Šฆ๊นŽ์ด ๊ธฐ๋ก์ž๊ฐ€ ๋˜๊ธฐ๋กœ ํ–ˆ๋‹ค.


๐Ÿ”– ๋‹ค์Œ ์˜ˆ๊ณ 

๐Ÿ“˜ Ep.06 | ๋‚˜๋งŒ์˜ ํ‰ํ–‰ ์šฐ์ฃผ โ€” ๋ธŒ๋žœ์น˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์ฝ”๋ฉ˜ํŠธ

๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ

์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” *๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค