๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป | CS/Git

[Git&Github] Git ์ •๋ฆฌ-2 (w.VSCode, diff)

by KASSID 2023. 10. 28.

๋ชฉ์ฐจ

    728x90

    0. VSCode์—์„œ ๊นƒ ํ™œ์šฉํ•˜๊ธฐ

    ํ„ฐ๋ฏธ๋„์ด ์•„๋‹Œ VSC์—์„œ๋„ git์„ ํŽธํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    1) git ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋ฅผ VSCode๋กœ ๋ฐ”๊พธ๊ธฐ

    git config --global core.editor "code --wait"

    ๋งฅ์˜ ๊ฒฝ์šฐ git ๊ธฐ๋ณธ ์—๋””ํ„ฐ๊ฐ€ vi ์ฆ‰, ๊ธฐ๋ณธ ํ„ฐ๋ฏธ๋„๋กœ ์„ค์ •๋˜์–ด์žˆ๋Š”๋ฐ

    ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด VSC๋ฅผ ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    2) VSC์—์„œ git add commit

    ์™ผ์ชฝ ํŒจ๋„์— ์œ„์น˜ํ•œ Source Control์„ ํด๋ฆญํ•˜๋ฉด

    ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•œ ํŒŒ์ผ๋“ค์˜ ๋ณ€ํ™”์— ๋Œ€ํ•ด์„œ ์ถ”์ ํ•œ ๊ฒƒ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค.

     

    ๋˜ํ•œ + ๋ฒ„ํŠผ์œผ๋กœ git add๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ 

    ์ฒดํฌ ๋ฒ„ํŠผ์œผ๋กœ git commit์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ํŒŒ์ผ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ๋งŽ์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ค‘ ์ผ๋ถ€๋งŒ repo์— ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์œ ์šฉํ•œ ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.

    ์ด๋•Œ commit์„ ํ•˜๋Š” ๊ฒฝ์šฐ COMMIT_EDITMSG ๋ผ๋Š” ํŒŒ์ผ์ด ๋“ฑ์žฅํ•˜๋ฉฐ ๊ธด ๋ฉ”์„ธ์ง€๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๊ฐ€ ๋˜๋Š”๋ฐ

     

    ํ•„์ž์˜ ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ 

    ์„ค์ •์—์„œ ์œ„ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ

     

    ์ด๋Ÿฌํ•œ ๊ฐ„๋‹จํ•œ ์ฐฝ์œผ๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝํ•˜์˜€๋‹ค.

     

     

     

    1. commit๊ณผ ํŒŒ์ผ ๋น„๊ต

    1) git diff

    commit์„ ํ•˜๊ธฐ ์ „์— ํ˜„์žฌ ํŒŒ์ผ๊ณผ ๋งˆ์ง€๋ง‰ commit๊ณผ์˜ ์ฐจ์ด์ ์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์กด์žฌํ•œ๋‹ค.

     

    commit ์ดํ›„ ํŒŒ์ผ์„ ์ˆ˜์ •์„ ํ•œ ๋’ค ์•„๋ž˜์˜ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋ฉด

    git diff

     

    ๊ฐ€์žฅ ์ตœ๊ทผ commit
    ์ˆ˜์ •

     

    ์ด์ฒ˜๋Ÿผ ์ตœ๊ทผ commit๋œ ํŒŒ์ผ๊ณผ ํ˜„ ํŒŒ์ผ์˜ ์ฐจ์ด์ ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (q ์ข…๋ฃŒ)

     

    - ํŠน์ • commit๊ณผ ํ˜„์žฌ ํŒŒ์ผ ๋น„๊ต

    git diff commitID

    commitID๋ฅผ ์ด์šฉํ•˜๋ฉด ํŠน์ • commit๊ณผ ํ˜„์žฌ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    git diff commitID1 commitID2

    ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ 2๊ฐœ์˜ commit ๊ฐ„ ๋น„๊ต๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

     

     

    ํ•˜์ง€๋งŒ ์ด๋ณด๋‹ค ๋” ์‹œ๊ฐ์ ์œผ๋กœ ๋” ๋ณด๊ธฐ ์ข‹์€ ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค.

     

    2) git difftool

    difftool์„ ์ด์šฉํ•˜๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์‹œ๊ฐ์ ์œผ๋กœ ์ข€ ๋” ๋ฐœ์ „๋œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    (๋‚˜๊ฐˆ๋•Œ :qa)

     

     

    2. VSC extension ํ™œ์šฉํ•˜๊ธฐ

    ์œ„์—์„œ ์‚ดํŽด๋ณด์•˜๋˜ git diff, difftool ๋ชจ๋‘ vi์—์„œ ์ด๋ค„์ง€๊ธฐ ๋•Œ๋ฌธ์— ์—ญ์‹œ ๋ถˆํŽธํ•  ์ˆ˜ ์žˆ๋‹ค.

    VSC์— ์กด์žฌํ•˜๋Š” ๋‹ค์–‘ํ•œ extension๋“ค์„ ํ™œ์šฉํ•ด๋ณด๋ฉด ์•„์ฃผ ์œ ์šฉํ•œ ๊ฒƒ๋“ค์ด ๋งŽ์ด ์žˆ๋‹ค.

     

    (1) git graph

    ์„ค์น˜ ํ›„ source control ๋ฉ”๋‰ด์—์„œ ์˜ค๋ฅธ์ชฝ ๋‘๋ฒˆ์งธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด

     

    git log๋ฅผ ๊ตณ์ด ์“ฐ์ง€ ์•Š์•„๋„ ๋  ์ •๋„์˜ ์‹œ๊ฐ์ ์œผ๋กœ ์•„์ฃผ ์ž˜ ์ •๋ฆฌ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

     

    ๋˜ํ•œ ํ•˜๋‚˜์”ฉ ํด๋ฆญํ•ด๋ณด๋ฉด ์ƒ์„ธ ์ •๋ณด์™€ ์ˆ˜์ •๋œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

    git diff๋„ ์กฐ๊ธˆ ๋” ํŽธํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    ๋Œ“๊ธ€