์ƒˆ์†Œ์‹

IT & Security/Git & GitHub

Git์—์„œ ์ปค๋ฐ‹(Commit)๋‚ด์—ญ ์ˆ˜์ •ํ•˜๊ธฐ

  • -
๋ฐ˜์‘ํ˜•

๋ชจ๋“  ํฌ์ŠคํŒ…์€ ๊ตฌ๋ฆ„์—๋“€ ๊ฐ•์ขŒ ์ค‘ "Git์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ˜‘์—… ๋ฐ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ" ์˜ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ

์ถœ์ฒ˜๋Š” ์•„๋ž˜์˜ ์ฃผ์†Œ๋กœ "๋‚˜๋™๋นˆ"๋‹˜์˜ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. 

์ƒ์—…์ ์ธ ์˜๋„๊ฐ€ ์•„๋‹Œ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•ด๋†“๋Š” ๋ชฉ์ ์œผ๋กœ ํฌ์ŠคํŒ… ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

edu.goorm.io/learn/lecture/11528/git์œผ๋กœ-์‹œ์ž‘ํ•˜๋Š”-ํ˜‘์—…-๋ฐ-์˜คํ”ˆ์†Œ์Šค-ํ”„๋กœ์ ํŠธ/info

 

๊ตฌ๋ฆ„EDU - ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๋งž์ถคํ˜• IT๊ต์œก

๊ตฌ๋ฆ„EDU๋Š” ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๋งž์ถคํ˜• IT๊ต์œก ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ/ํ•™๊ต/๊ธฐ์—… ๋ฐ ๊ธฐ๊ด€ ๋ณ„ ์ตœ์ ํ™”๋œ IT๊ต์œก ์†”๋ฃจ์…˜์„ ๊ฒฝํ—˜ํ•ด๋ณด์„ธ์š”. ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค๋ฌด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก, ์ „๊ตญ ์ดˆ์ค‘๊ณ /๋Œ€ํ•™๊ต ์˜จ๋ผ์ธ ๊ฐ•์˜, ๊ธฐ์—…/

edu.goorm.io


# ์ปค๋ฐ‹ ๋‚ด์—ญ ํ™•์ธํ•˜๊ธฐ


๊นƒํ—ˆ๋ธŒ์—์„œ ์ปค๋ฐ‹๋‚ด์—ญ์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ git log๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ๋„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹ค์‹œ ๋งํ•ด์„œ ํŒŒ์ผ ๋‚ด์—ญ์ด ์–ธ์ œ ์ˆ˜์ •์ด ๋˜์–ด ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ „์— ์ˆ˜์ •๋œ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ• ๊นŒ?

๊ฐ€๋Šฅํ•˜๋‹ค

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊นƒ์—์„œ ์ปค๋ฐ‹๋‚ด์—ญ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

# ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ

<ํŠน์ • ์ง€์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ž์ฒด๋ฅผ ๋˜๋Œ๋ ค ๋ณด์ž>

 

๋จผ์ € git pull ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ, ๋‚ด ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์—ญ์„ ์ผ์น˜ ์‹œ์ผœ์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„, git log ๋ฅผ ํ†ตํ•ด log๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

์ปค๋ฐ‹ ๋‚ด์—ญ์ด ์กฐํšŒ๋œ๋‹ค. commit์˜†์— ํ•ด์‹œ ๊ฐ’์€ ๊ทธ ์ปค๋ฐ‹์„ ์˜๋ฏธํ•˜๋ฉฐ, git log๋ฅผ ๋น ์ ธ๋‚˜์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด 'q' ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ๋œ๋‹ค.

 

๋งŒ์ผ ์ด์ค‘์— ์ œ์ผ ์ฒซ ๋ฒ„์ „ ์ฆ‰ my_test์ดˆ๊ธฐ ๋ฒ„์ „์˜ ํŒŒ์ผ๋กœ ๋Œ๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์ฃผ์–ด์•ผ ํ• ๊นŒ?

 

๋ฐ”๋กœ reset ๋ช…๋ น์„ ์“ฐ๋ฉด ๋œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ฃผ๋ฉด ํŠน์ • ์ง€์ ์œผ๋กœ ๋Œ์•„๊ฐ€๊ณ , ์ดํ›„์˜ ์ปค๋ฐ‹๋“ค์€ ๋‹ค ์ง€์šฐ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

(์ œ์ผ ์ฒซ ๋ฒ„์ „์œผ๋กœ ํ•ด์‹œ ๊ฐ’์„ ์ฃผ์—ˆ๋‹ค)

 

๋‹ค์‹œ ๊นƒ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ํ•ด๋‹น ์ปค๋ฐ‹ ๋ง๊ณ  ์ดํ›„์˜ ์ปค๋ฐ‹์€ ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ด์™ธ์˜ ์˜ต์…˜์œผ๋กœ๋„ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ๋ณด๊ด€ํ•˜๋ฉด์„œ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์˜ต์…˜(soft, mixed..)์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋Š” ์•„๋ž˜ ๊นƒ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

 

git-scm.com/book/ko/v2/Git-๋„๊ตฌ-Reset-๋ช…ํ™•ํžˆ-์•Œ๊ณ -๊ฐ€๊ธฐ

 

Git - Reset ๋ช…ํ™•ํžˆ ์•Œ๊ณ  ๊ฐ€๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ reset ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ณธ ํ˜•ํƒœ์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ดค๋‹ค. reset ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋ฉด 1๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ •ํ•ด์ง„ ๊ฒฝ๋กœ์˜ ํŒŒ์ผ์—๋งŒ ๋‚˜๋จธ์ง€ reset ๋‹จ๊ณ„๋ฅผ ์ ์šฉํ•œ๋‹ค. ์ด๋Š” ๋‹น์—ฐํ•œ

git-scm.com

ํ•˜์ง€๋งŒ ์ด ์ƒํƒœ๋Š” ์›๊ฒฉ์ €์žฅ์†Œ์—๋Š” ํ•ด๋‹น์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ์ € ์ž์‹ ์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ์—๋งŒ ํ•ด๋‹น์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋งŒ์•ฝ ์›๊ฒฉ์ €์žฅ์†Œ์—๋„ ๋™์ผํ•˜๊ฒŒ ์ปค๋ฐ‹๋‚ด์—ญ์„ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

๊ทธ๋ƒฅ git push๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๊ทธ๋ƒฅ -f ์˜ต์…˜์„ ์ฃผ์–ด ๊ฐ•์ œ๋กœ ๋งž์ถฐ์ฃผ๋ฉด ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ๋„ ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

# ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๋ณ€๊ฒฝ ๋ฐฉ๋ฒ•

๋จผ์ € ํŒŒ์ผ์„ ํ•˜๋‚˜ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ๋‚ด์šฉ์€ ๊ทธ๋ƒฅ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅ ํ›„ add, commit ํ•ด์ค€๋‹ค.

 

์ดํ›„ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„, ์‚ดํŽด๋ณด์ž.

์ปค๋ฐ‹์„ ๋˜์–ด์žˆ์ง€๋งŒ, ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ "git commit --amend" ๋ฅผ ์‹คํ–‰์‹œ์ผœ ์ค€๋‹ค.

 

์ž๋™์œผ๋กœ ํŠน์ • ์—๋””ํ„ฐ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.(์œ ๋‹‰์Šค ์—๋””ํ„ฐ์ž„)

 

์—ฌ๊ธฐ์„œ ์ฒซ๋ฒˆ์งธ ์ค„์„ ์ˆ˜์ •ํ•ด์ค€๋‹ค.(์ปค๋ฐ‹ ๋ฉ”๋ชจ๋กœ ์ถ”๊ฐ€ํ•  ๋‚ด์šฉ ๋“ฑ์„ ์จ์ฃผ๋ฉด ๋จ)

 

git status๋กœ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์ƒˆ๋กญ๊ฒŒ ์„œ๋ธŒํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค๊ณ  ๋‚˜์˜ค๊ณ , git log๋ฅผ ํ•ด๋ณด๋ฉด

ํ™”๋ฉด๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝ๋‚ด์šฉ์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

 

๊ฐ•์ œ๋กœ push ์‹œํ‚จ ํ›„ ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ํ™•์ธ์„ ํ•ด๋ณด์ž.

 

์ปค๋ฐ‹ ๋‚ด์—ญ์„ ํ™•์ธํ•ด๋ณด๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๊ฐ€ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ์—๋Š” ๋ณ€๊ฒฝ์ด ์—†๋‹ค.

 

์ฆ‰, ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋งŒ ์ˆ˜์ •์ด ์ผ์–ด๋‚œ ๊ฒƒ์ด๊ณ  ์ด๋Š” ๋ณดํ†ต ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์‹ค์ˆ˜ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋‹ค์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ปค๋ฐ‹๋ฉ”๋ชจ๋ฅผ add๋กœ ๋ฐ”๊พธ๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ git add ํ•˜์—ฌ ๋‹ค์‹œ ๊ทธ ๋‚ด์šฉ์„ commit ํ•ด์ฃผ์—ˆ๋‹ค.

 

์›๊ฒฉ ๋ฆฌํฌ์— ์ •์ƒ์ ์œผ๋กœ  ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.