devPharm
devPharm
devPharm
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (17)
    • coding (12)
    • medicine (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
devPharm

devPharm

Git Commit ๋‹ค๋ฃจ๊ธฐ
coding

Git Commit ๋‹ค๋ฃจ๊ธฐ

2022. 9. 11. 00:00
๐Ÿชœ

1. ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ ๊ฐ€์ด๋“œ๋ผ์ธ

(1) ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ๊ณผ ์ƒ์„ธ ์„ค๋ช… ์‚ฌ์ด์—๋Š” ํ•œ ์ค„์„ ๋น„์›Œ๋‘”๋‹ค.

m ์—†์ด๋„ ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Œ

git commit ๋งŒ ์ž…๋ ฅ ์‹œ ์ƒˆ์ฐฝ ๋‚˜์˜ด

์ƒˆ์ฐฝ์—์„œ ์ž…๋ ฅ ๊ฐ€๋Šฅ

์ƒˆ์ฐฝ์—์„œ ์ž…๋ ฅ ์‹œ ์ œ๋ชฉ๊ณผ ์ƒ์„ธ ์„ค๋ช…๊นŒ์ง€ ์ ์„ ์ˆ˜ ์žˆ์Œ

๋ณต์žกํ•˜๊ณ  ๊ธด ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ ์ž‘์„ฑ ๊ฐ€๋Šฅ

(2) ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ ๋’ค์— ์˜จ์ (.)์„ ๋ถ™์ด์ง€ ์•Š๊ธฐ

(3) ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ์˜ ์ฒซ ๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ.

(4) ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ์€ ๋ช…๋ น์กฐ๋กœ ์ž‘์„ฑ.(Fix it /ย Fixed it / Fixes it)

(5) ์ปค๋ฐ‹์˜ ์ƒ์„ธ ๋‚ด์šฉ์—๋Š” ์ด๋Ÿฐ ๊ฑธ ์ ์œผ๋ฉด ์ข‹๋‹ค.

  • ์™œ ์ปค๋ฐ‹์„ ํ–ˆ๋Š”์ง€
  • ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ 
  • ์ ์šฉํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์–ด๋–ค ํšจ๊ณผ๋ฅผ ๊ฐ€์ง€๋Š”์ง€

(6) ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋ง๊ณ  ์ตœ๋Œ€ํ•œ ์นœ์ ˆํ•˜๊ฒŒ ์ž‘์„ฑ.

2. ์ปค๋ฐ‹ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

(1) ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์—๋Š” ํ•˜๋‚˜์˜ ์ˆ˜์ •์‚ฌํ•ญ, ํ•˜๋‚˜์˜ ์ด์Šˆ(issue)๋ฅผ ํ•ด๊ฒฐํ•œ ๋‚ด์šฉ๋งŒ ๋‚จ๊ธด๋‹ค. ์ปค๋ฐ‹์ด ํ•˜๋‚˜์˜ ์‚ฌ์‹ค๋งŒ์„ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ๋‚˜์ค‘์— ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

(2) ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ƒํƒœ๊ฐ€ ๊ทธ ๋‚ด๋ถ€์˜ ์ „์ฒด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์ธ ๊ฒฝ์šฐ์—๋งŒ ์ปค๋ฐ‹ ํ•œ๋‹ค.

โฃ๏ธ
staging area์— ์žˆ๋˜ ๊ฒƒ๋“ค์€ ์ปค๋ฐ‹์„ ํ•˜๋”๋ผ๋„ ๊ทธ๊ฒƒ๊ณผ ์ƒ๊ด€์—†์ด ๊ณ„์† ๋‚จ์•„์žˆ๋‹ค!

3. commit ๊ด€๋ จ ๋ช…๋ น์–ด

  • git logย : ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ถœ๋ ฅ, ์ปค๋ฐ‹์— ๋ถ€์—ฌ ๋œ id ์กฐํšŒ ๊ฐ€๋Šฅ
  • git log --pretty=onelineย : --pretty ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --pretty ์˜ต์…˜์— oneline์ด๋ผ๋Š” ๊ฐ’์„ ์ฃผ๋ฉด ์ปค๋ฐ‹ ํ•˜๋‚˜๋‹น ํ•œ ์ค„์”ฉ ์ถœ๋ ฅ
  • git show [์ปค๋ฐ‹ ์•„์ด๋””]ย  or git show [tag์ด๋ฆ„] : ํŠน์ • ์ปค๋ฐ‹์—์„œ ์–ด๋–ค ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋Š”์ง€ ํ™•์ธ

    ์ปค๋ฐ‹ id๋Š” ์•ž์— 4๊ธ€์ž๋งŒ ์ ์–ด๋„ ๋จ

    ๋นจ๊ฐ„ ์ค„์€ ํ•ด๋‹น ์ปค๋ฐ‹ ์ด์ „์— ์žˆ์—ˆ๋˜ ๋‚ด์šฉ

    ์ดˆ๋ก ์ค„์€ ํ•ด๋‹น ์ปค๋ฐ‹ ๋‚ด์šฉ

    ํƒœ๊ทธ ๋ถ™์ด๋Š” ๋ฒ•์€ ๋งจ ์•„๋žซ ์ค„ ์ฐธ๊ณ 

  • git commit --amendย : ์ตœ์‹  ์ปค๋ฐ‹์„ ๋‹ค์‹œ ์ˆ˜์ •ํ•ด์„œ ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์œผ๋กœ ๋งŒ๋“ฆ, ๊ทธ๋Ÿผ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ทธ์ „์— ์ž‘์„ฑํ•œ๊ฑธ๋กœ ๋งŒ๋“ค์–ด ์ง„๋‹ค. ์ปค๋ฐ‹ ๊ณ ์œ  id๋Š” ๋ณ€๊ฒฝ ๋จ.
  • git config alias.[๋ณ„๋ช…] [์ปค๋งจ๋“œ]ย : ๊ธธ์ด๊ฐ€ ๊ธด ์ปค๋งจ๋“œ์— ๋ณ„๋ช…์„ ๋ถ™์—ฌ์„œ ์ดํ›„๋กœ ๋ณ„๋ช…์œผ๋กœ ํ•ด๋‹น ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

    ์˜ˆ์‹œ ) git config alias.history 'log --pretty=oneline'

  • git diff [์ปค๋ฐ‹ A์˜ ์•„์ด๋””] [์ปค๋ฐ‹ B์˜ ์•„์ด๋””]ย : ๋‘ ์ปค๋ฐ‹ ๊ฐ„์˜ ์ฐจ์ด ๋น„๊ต

    ์•„์ด๋””๋Š” ์•ž์— 4๊ธ€์ž๋งŒ ์ ์–ด๋„ ๋œ๋‹ค

    ์˜ˆ์‹œ ) ๋นจ๊ฐ„ ์ค„์€ ์ด์ „ ์ปค๋ฐ‹์— ์žˆ์—ˆ๋˜ ๋‚ด์šฉ

    ์ดˆ๋ก ์ค„์€ ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์— ์ถ”๊ฐ€ ๋œ ๋‚ด์šฉ

  • git diff [a ๋ธŒ๋žœ์น˜ ๋ช…] [b ๋ธŒ๋žœ์น˜ ๋ช…] : ๋‘ ๋ธŒ๋žœ์น˜๊ฐ„์˜ ์ฐจ์ด ๋น„๊ต
  • git reset [์˜ต์…˜] [์ปค๋ฐ‹ ์•„์ด๋””]ย : ์˜ต์…˜์— ๋”ฐ๋ผ ํ•˜๋Š” ์ž‘์—…์ด ๋‹ฌ๋ผ์ง(์˜ต์…˜์„ ์ƒ๋žตํ•˜๋ฉด --mixed ์˜ต์…˜์ด ์ ์šฉ๋จ)

( ์›๋ฆฌ์„ค๋ช… : head๊ฐ€ ๊ฐ€๋ฅดํ‚ค๋Š” branch๊ฐ€ ํ•ด๋‹น ํŠน์ • ์ปค๋ฐ‹์œผ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋จ.

head๋Š” ์—ฌ์ „ํžˆ ๊ฐ™์€ branch๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ณ  ๊ฒฐ๊ตญ head๊ฐ€ ๊ฐ„์ ‘์ ์œผ๋กœ ๊ฐ€๋ฆฌํ‚ค๋˜ ์ปค๋ฐ‹๋„ ๋ฐ”๋€Œ๊ฒŒ ๋˜๋Š” ๊ฒƒ )

(1) HEAD๊ฐ€ ํŠน์ • ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์ด๋™์‹œํ‚ด(--soft๋Š” ์—ฌ๊ธฐ๊นŒ์ง€ ์ˆ˜ํ–‰)

(2) staging area๋„ ํŠน์ • ์ปค๋ฐ‹์ฒ˜๋Ÿผ ๋ฆฌ์…‹(--mixed๋Š” ์—ฌ๊ธฐ๊นŒ์ง€ ์ˆ˜ํ–‰)

(3) working directory๋„ ํŠน์ • ์ปค๋ฐ‹์ฒ˜๋Ÿผ ๋ฆฌ์…‹(--hard๋Š” ์—ฌ๊ธฐ๊นŒ์ง€ ์ˆ˜ํ–‰)

๊ทธ๋ฆฌ๊ณ  ์ด๋•Œ ์ปค๋ฐ‹ ์•„์ด๋”” ๋Œ€์‹  HEAD์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ํ‘œ๊ธฐ๋ฒ•(์˜ˆ : HEAD^, HEAD~3)์„ ์‚ฌ์šฉํ•ด๋„ ๋จ

HEAD^ : HEAD ๋ฐ”๋กœ ์ „ ์ปค๋ฐ‹์„ ์˜๋ฏธ

HEAD~n : HEAD๊ธฐ์ค€ n๋ฒˆ์งธ ์ „ ์ปค๋ฐ‹์„ ์˜๋ฏธ

( cf.

git reset์„ ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๊ทธ ์ดํ›„์˜ ์ปค๋ฐ‹์ด ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ฐฉ๊ฐํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ๊ณ„์† ๋‚จ์•„์žˆ๊ณ , git reset์€ ๊ณผ๊ฑฐ์˜ ์ปค๋ฐ‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ˜„์žฌ HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ปค๋ฐ‹ ์ดํ›„์˜ ์ปค๋ฐ‹์œผ๋กœ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

git reflog ๋ช…๋ น์–ด ์ž…๋ ฅ ์‹œ head๊ฐ€ ๊ฐ€๋ฅด์ผœ์™”๋˜ ์ปค๋ฐ‹ history ์ •๋ณด ๋ณผ ์ˆ˜ ์žˆ๋‹ค)

  • git tag [ํƒœ๊ทธ ์ด๋ฆ„] [์ปค๋ฐ‹ ์•„์ด๋””]ย : ํŠน์ • ์ปค๋ฐ‹์— ํƒœ๊ทธ๋ฅผ ๋ถ™์ž„

    ์˜ˆ์‹œ) git tag version_1 4dg2

  • git tag : ์ด ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ํƒœ๊ทธ๋ฅผ ์กฐํšŒ


Uploaded by N2T

'coding' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Git์—์„œ HEAD๋ž€?  (0) 2022.09.12
Git ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋… ๋ฐ ์ปค๋งจ๋“œ ์ •๋ฆฌ  (0) 2022.09.05
dart : ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๋ฌธ๋ฒ• ์˜ˆ์‹œ  (0) 2022.08.04
unix command ์ข…๋ฅ˜ ๋ฐ ํ˜•์‹  (0) 2022.08.02
flutter : how to ignore โ€˜prefer constโ€™ warning  (0) 2022.07.28
    'coding' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • Git์—์„œ HEAD๋ž€?
    • Git ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋… ๋ฐ ์ปค๋งจ๋“œ ์ •๋ฆฌ
    • dart : ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๋ฌธ๋ฒ• ์˜ˆ์‹œ
    • unix command ์ข…๋ฅ˜ ๋ฐ ํ˜•์‹
    devPharm
    devPharm

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”