๐ŸŽฏ ๋ถ„์‚ฐ์‹ ์ฒ˜๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ธ Git์˜ ๋ช…๋ น์–ด๋ฅผ ์ตํ˜€ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ  ํ˜‘์—… ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“™ Today I Learned

CLI vs GUI

์ปดํ“จํ„ฐ์— ๋ช…๋ นํ•˜๋Š” ๋ฐฉ์‹์˜ ์ฐจ์ด์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

  • CLI(Command-Line Interface) : ํ…์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ๋ฅผ ์…ธ์— ์ž…๋ ฅํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    ์…ธ(Shell)์ด๋ž€?
    ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ(OS) ์ƒ์—์„œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ๋•๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
    ex. bash, zsh, cmd

    • ๋ช…๋ น์–ด ์˜ˆ์‹œ

      • cd ๋””๋ ‰ํ† ๋ฆฌ : ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ (change directory)

      • ls : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก ํ‘œ์‹œ (list) / ์œˆ๋„์šฐ cmd์—์„œ๋Š” dir๋กœ ์‚ฌ์šฉํ•จ

      • ls -a: ์ˆจ๊น€ ํŒŒ์ผ์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ๋ชฉ๋ก ํ‘œ์‹œ (list all)

      • mkdir : ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ (make directory)

      • .. : ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜๋ฏธ

      • . : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜๋ฏธ

      • / : ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜๋ฏธ


  • GUI(Graphical User Interface) : ์•„์ด์ฝ˜, ๋ฒ„ํŠผ ๊ฐ™์€ ๊ทธ๋ž˜ํ”ฝ ์š”์†Œ๋“ค์„ ํ†ตํ•ด์„œ ์ปดํ“จํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

    • ์˜ˆ์‹œ ๐Ÿ“ : ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ , ๋งคํ‚จํ† ์‹œ ํŒŒ์ธ๋”



Git Command

CLI๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ฒ•

  • git init : Git์„ ์ดˆ๊ธฐํ™”(initialize)ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ค๊ณ , .git ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • git add: git์ด ํŒŒ์ผ๋“ค์„ ํŠธ๋ž˜ํ‚นํ•˜๋„๋ก ์Šคํ…Œ์ด์ง• ์˜์—ญ(์ปค๋ฐ‹ ์ „ ์ค€๋น„ ๋‹จ๊ณ„)์— ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.

  • git status : Git ์ €์žฅ์†Œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • git commit: ์Šคํ…Œ์ด์ง• ์˜์—ญ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ( git commit -m "์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€" ๋กœ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.)

    • Git์—์„œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ํŽธ์ง‘๊ธฐ(Vim)

      c๋ฅผ ๋‘ ๋ฒˆ ๋ˆŒ๋Ÿฌ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  esc๋ฅผ ๋ˆŒ๋Ÿฌ ๋‚˜์˜จ๋’ค
      :wq(์ €์žฅํ•˜๊ณ  ์ข…๋ฃŒ)๋ฅผ ์ž…๋ ฅํ•˜์—ฌ Vim์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

  • git log: ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

GUI๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ฒ•

initialize Repository ๋ฒ„ํŠผ์„ ์ด์šฉํ•ด์„œ git init์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ํ•  ํŒŒ์ผ์˜ ์˜ค๋ฅธ์ชฝ์˜ +๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ git add๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค.

Staged Changes์— ์ถ”๊ฐ€ํ•œ ํŒŒ์ผ๋“ค์ด ์ž˜ ์˜ฌ๋ผ๊ฐ€๋ฉด input์ฐฝ์— commit ๋ฉ”์„ธ์ง€๋ฅผ ์ž…๋ ฅํ•˜๊ณ  commit ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ commit์„ ์™„๋ฃŒํ•ด์ค๋‹ˆ๋‹ค.

๐Ÿ”„๏ธGit History
Extension์„ ํ†ตํ•ด commit log๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿง ์˜ค๋Š˜์˜ ๋ฐœ๊ฒฌ

GUI๋ฅผ ํ™œ์šฉํ•ด์„œ Git command๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋†€๋ผ์› ๋‹ค. Vim์„ ํ™œ์šฉํ•ด์„œ commit ๋ฉ”์„ธ์ง€๋ฅผ ์ฒ˜์Œ ์ž‘์„ฑํ•ด๋ดค์–ด์„œ Git์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค์–‘ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค.


๐Ÿ–‹๏ธ ํ•œ ์ค„ ํšŒ๊ณ 

CLI์— ์ต์ˆ™ํ•ด์ ธ์„œ ์†์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๊ณ , ๋‹ค๋ฃจ๊ธฐ ์†์‰ฌ์šด Github Desktop๋„ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

profile
๐ŸŒฑ๊ฐœ๋ฐœ ๊ธฐ๋ก์žฅ

0๊ฐœ์˜ ๋Œ“๊ธ€