๐Ÿ“˜ Ep.04 | ์ปค๋ฐ‹์€ ์‹œ๊ฐ„์˜ ๋ถ๋งˆํฌ โ€” log, diff, HEAD

์ˆ˜์ฑ„ํ™” ์Šคํƒ€์ผ์˜ ๋…ธํŠธ๋ถ์— โ€˜commitโ€™ ๋‚ด์šฉ์ด ์ ํžŒ ๋…ธํŠธ๊ฐ€ ํŽผ์ณ์ ธ ์žˆ๊ณ , ํŽœ์ด ์˜†์— ๋†“์—ฌ ์žˆ๋‹ค. commit ID, ์ž‘์„ฑ์ž ์ด๋ฆ„, ๋‚ ์งœ, ๋ฉ”์‹œ์ง€๊ฐ€ ์†๊ธ€์”จ ๋А๋‚Œ์œผ๋กœ ์ ํ˜€ ์žˆ๋‹ค.

๐Ÿงญ ์‹œ๋ฆฌ์ฆˆ ์ „์ฒด ๋ณด๊ธฐ โ†’ [๋Šฆ๊นŽ์ด 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 log๋‹ค.


๐Ÿ“š git log โ€” ๋‚ด๊ฐ€ ๋‚จ๊ธด ๊ธฐ๋ก์˜ ์—ฐ๋Œ€๊ธฐ

git log

ํ„ฐ๋ฏธ๋„์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด

์šฐ๋ฆฌ๋Š” ๋ฐฉ๊ธˆ ๋‚จ๊ธด ์ปค๋ฐ‹์˜ ํƒ€์ž„์Šคํƒฌํ”„์™€ ๋ฉ”์‹œ์ง€,

๊ทธ๋ฆฌ๊ณ  SHA๋ผ๋Š” ๊ณ ์œ  ID๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๊ฑด ๋งˆ์น˜

ํŽ˜์ด์ง€๋ฅผ ๋„˜๊ธฐ๋‹ค ๋ฌธ๋“

๋‚ ์งœ๊ฐ€ ์ ํžŒ ์ผ๊ธฐ์žฅ์„ ๋ฐœ๊ฒฌํ•œ ๊ธฐ๋ถ„์ด๋‹ค.

โ commit 892fbe0b9โ€ฆ

Author: Zionwalker

Date: 2025-05-11

Message: โ€œ๋‚˜์˜ ์ฒซ ๊ธฐ๋ก์„ ๋‚จ๊ฒผ๋‹คโ€ โž


๐Ÿ” git diff โ€” ๋‚˜๋Š” ๋ฌด์—‡์„ ๋ฐ”๊พธ์—ˆ๋Š”๊ฐ€?

git diff๋Š” ๋” ์ง์ ‘์ ์ด๋‹ค.

git diff

์ด๊ฑด ๋‚ด ๊ธฐ๋ก์„ โ€˜์ด์ „๊ณผ ์ดํ›„โ€™๋กœ ๋‚˜๋ˆ  ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด๋‹ค.

์–ด๋–ค ๋ถ€๋ถ„์ด ๋ฐ”๋€Œ์—ˆ๋Š”์ง€,

๋ฌด์—‡์„ ์ง€์šฐ๊ณ  ๋ฌด์—‡์„ ์ƒˆ๋กœ ์ผ๋Š”์ง€,

๋น„๊ตํ•˜๊ณ  ์„ฑ์ฐฐํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์  ๊ฑฐ์šธ์ด๋‹ค.


๐Ÿง  HEAD โ€” ์ง€๊ธˆ ๋‚ด๊ฐ€ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ๊ธฐ๋ก

Git์€ ํ•ญ์ƒ ๋ฌป๋Š”๋‹ค.

โ€œ์ง€๊ธˆ ๋„ˆ๋Š” ์–ด๋””๋ฅผ ๋ณด๊ณ  ์žˆ๋‹ˆ?โ€

๊ทธ ์ค‘์‹ฌ์ด ๋˜๋Š” ํฌ์ธํ„ฐ๊ฐ€ HEAD๋‹ค.

cat .git/HEAD

HEAD๋Š”

โ€œํ˜„์žฌ ๋„ˆ์˜ ์ผ๊ธฐ์žฅ์€ ์—ฌ๊ธฐ์•ผโ€๋ผ๊ณ  ์•Œ๋ ค์ฃผ๋Š”

๋””์ง€ํ„ธ ๋ถ๋งˆํฌ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ข…์ด์ฑ…์—์„œ ์†๊ฐ€๋ฝ์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ์žก๋“ฏ

Git์—์„œ๋Š” HEAD๊ฐ€ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค.


๐Ÿ”„ HEAD๋ฅผ ์›€์ง์—ฌ๋ณด์ž

git checkout [์ปค๋ฐ‹ ID]

์˜ˆ๋ฅผ ๋“ค์–ด:

git checkout 892fbe0b9

โ†’ ๊ทธ๋Ÿฌ๋ฉด ๋‚˜๋Š” ์‹œ๊ฐ„ ์†์˜ ํŠน์ • ์ง€์ ์œผ๋กœ

์กฐ์šฉํžˆ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

์ด๊ฑด ๋งˆ์น˜

๊ณผ๊ฑฐ์˜ ๋‚˜๋ฅผ ๋งŒ๋‚˜๋Ÿฌ ๊ฐ€๋Š” ์—ฌํ–‰์ด๋‹ค.

๊ฒฐ์ •ํ•˜์ง€ ์•Š๊ณ , ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.


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

๊ธฐ๋ก์€ ๊ทธ๋ƒฅ ์Œ“์•„๋‘๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

๋˜๋Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด๋‹ค.

log๋Š” ๋‚˜์˜ ์—ฐ๋Œ€๊ธฐ์ด๊ณ ,

diff๋Š” ๋‚˜์˜ ํ”๋“ค๋ฆผ์ด๋ฉฐ,

HEAD๋Š” ์ง€๊ธˆ์˜ ๋‚˜๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด์ œ

๊ณผ๊ฑฐ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๊ณ ,

์ง€๊ธˆ์„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ณ ,

๋ฏธ๋ž˜๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.


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

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


์ฝ”๋ฉ˜ํŠธ

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

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