[Linux/Git] ๊ธฐ์ดˆ

๋””๋”ฉยท2022๋…„ 11์›” 2์ผ
0

Section

๋ชฉ๋ก ๋ณด๊ธฐ
10/18
post-thumbnail

๐Ÿ•– DAY +10 / 2022. 11. 02

SEB FE / Section1 / Unit8 / Linux/Git ๊ธฐ์ดˆ



๐Ÿ“Œ Today I Learned

  • ํ„ฐ๋ฏธ๋„๊ณผ CLI
  • ํŒจํ‚ค์ง€์™€ ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €
  • Node.Js
  • Git

๐Ÿ’ฌ CLI

ํ„ฐ๋ฏธ๋„์€ CLI(Command-Line Interface)์ด๋‹ค. ์ž…๋ ฅํ•˜๋Š” ๊ธ€์ž์™€ ์ถœ๋ ฅ๋˜๋Š” ๊ธ€์ž๋กœ ์ปดํ“จํ„ฐ์™€ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“‚ ํ”„๋กฌํ”„ํŠธ(Prompt)

ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์„ ํ™•์ธํ•˜๊ณ  ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ์ค„์˜ ๊ณต๊ฐ„์ด๋‹ค. ์ž…๋ ฅํ•œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด Enter๋ฅผ ๋ˆŒ๋Ÿฌ ์‹คํ–‰์‹œํ‚จ๋‹ค.

๐Ÿ“‚ pwd

pwd: ํ˜„์žฌ ์œ„์น˜ ํ™•์ธํ•˜๊ธฐ

GUI์—์„œ๋Š” "ํ˜„์žฌ ํด๋”๊ฐ€ ์œ„์น˜ํ•œ ๊ฒฝ๋กœ"๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํƒ์ƒ‰๊ธฐ์˜ ์ƒ๋‹จ์„ ํด๋ฆญํ•ด์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
CLI์ธ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ pwd๋ฅผ ํ”„๋กฌํ”„ํŠธ์— ์ž…๋ ฅํ•˜๊ณ , Enter(์—”ํ„ฐ ํ‚ค)๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ˜„์žฌ ๊ฒฝ๋กœ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

pwd
username pwd
/Users/username

pwd๋Š” print working directory์˜ ์•ฝ์ž๋‹ค. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ(directory)๋Š” ํด๋”๋‹ค.


๐Ÿ“‚ mkdir

mkdir: ์ƒˆ๋กœ์šด ํด๋” ์ƒ์„ฑํ•˜๊ธฐ

CLI์—์„œ ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ธ mkdir์€ make directories์˜ ์•ฝ์ž๋กœ, ํด๋”๋ฅผ ๋งŒ๋“ค๋ผ๋Š” ๋ช…๋ น์„ ์ปดํ“จํ„ฐ์— ์ „๋‹ฌํ•œ๋‹ค. ๋ช…๋ น์–ด mkdir์€ ์ƒ์„ฑํ•  ํด๋”์˜ ์ด๋ฆ„์„ ํ•จ๊ป˜ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. CLI์—์„œ๋Š” ๋ช…๋ น์–ด์™€ ํด๋”์˜ ์ด๋ฆ„์„ Space(์ŠคํŽ˜์ด์Šค ํ‚ค)๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

mkdir helloWorld

### ๐Ÿ“‚ ls > ls : ํŠน์ • ํด๋”์— ํฌํ•จ๋œ ํŒŒ์ผ์ด๋‚˜ ํด๋” ํ™•์ธํ•˜๊ธฐ

๋ช…๋ น์–ด ls๋Š” list์˜ ์•ฝ์ž๋กœ, ํŠน์ • ํด๋”์— ํฌํ•จ๋œ ํŒŒ์ผ์ด๋‚˜ ํ•˜์œ„ ํด๋”์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ช…๋ น์–ด ls๋ฅผ ์ด์šฉํ•ด ๋ช…๋ น์–ด mkdir์„ ํ†ตํ•ด ์ƒ์„ฑํ•œ ํด๋” "helloWorld"๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ls

๋ช…๋ น์–ด ls์—๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜ l๊ณผ a๊ฐ€ ์žˆ๋‹ค. CLI์—์„œ ํŠน์ • ๋ช…๋ น์–ด์˜ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” -๋ฅผ ์ด์šฉํ•ด ์˜ต์…˜์„ ์ž…๋ ฅํ–ˆ๋‹ค๊ณ  ์ปดํ“จํ„ฐ์— ์ „๋‹ฌํ•œ๋‹ค.

  • ls -l
  • ls -a
  • ls -al ๋˜๋Š” ls -la
    * ์œ„์˜ ์„ธ ๋ฒˆ์งธ ์˜ˆ์‹œ์—์„œ, ์˜ต์…˜์„ ๋œปํ•˜๋Š” ๋Œ€์‰ฌ(dash, -) ๋’ค์— ์˜ค๋Š” ์˜ต์…˜์˜ ์ˆœ์„œ๋Š” ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.

๋ช…๋ น์–ด ls์˜ ์˜ต์…˜ a๋Š” "all"์ด๋ผ๋Š” ์˜๋ฏธ๋‹ค. ์ˆจ์–ด์žˆ๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์„ ํฌํ•จํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•œ๋‹ค๋‹ค.

์˜ต์…˜ a์™€ ํ•จ๊ป˜, ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜ l์€ ํด๋”๋‚˜ ํŒŒ์ผ์˜ ํฌ๋งท์„ ์ „๋ถ€ ํ‘œํ˜„ํ•˜๋ผ๋Š” ์˜๋ฏธ
๋‹ค. ํ•˜๋‚˜์˜ ํŒŒ์ผ ๋˜๋Š” ํ•˜๋‚˜์˜ ํด๋”๋Š” ํ•œ ์ค„์— ์ถœ๋ ฅ๋œ๋‹ค.

์ถœ๋ ฅ๋˜๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์˜ ํฌ๋งท ์ค‘์—์„œ ๊ฐ€์žฅ ๋จผ์ € ๋“ฑ์žฅํ•˜๋Š” d ๋˜๋Š” -๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด์ž.

# ๋ช…๋ น์–ด ls์— ์˜ต์…˜ l์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋งท
drwxr-xr-x
-rw-r--r--

d๋กœ ์ถœ๋ ฅ๋œ ๊ฒฝ์šฐ๋Š” ํด๋”๋ฅผ, -๋กœ ์ถœ๋ ฅ๋œ ๊ฒฝ์šฐ๋Š” ํŒŒ์ผ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ํด๋”๋ฅผ GUI์˜ ํƒ์ƒ‰๊ธฐ๋กœ ์‹คํ–‰ํ•˜๊ธฐ
์—ฌ๋Ÿฌ๋ถ„์ด ์ปดํ“จํ„ฐ๋ฅผ ์ผœ๊ณ , ๋ชจ๋‹ˆํ„ฐ์— GUI๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋งŒ๋‚˜๋Š” ํ™”๋ฉด์€ ๋ฐ”ํƒ•ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. ๋ฐ”ํƒ•ํ™”๋ฉด์ด ํ•˜๋‚˜์˜ ํด๋”์ธ ๊ฑธ ์•Œ๊ณ  ์žˆ๋‚˜์š”? ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์ž…๋ ฅํ•˜์„ธ์š”. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์šด์˜์ฒด์ œ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํƒ‘์žฌ๋œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ GUI์˜ ํƒ์ƒ‰๊ธฐ(ํŒŒ์ธ๋”)๋กœ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“‚ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ํด๋”๋ฅผ GUI์˜ ํƒ์ƒ‰๊ธฐ๋กœ ์‹คํ–‰ํ•˜๊ธฐ

open .

๐Ÿ“‚ cd

cd: ํด๋”์— ์ง„์ž…ํ•˜๊ธฐ

๋ช…๋ น์–ด cd๋Š” change directory์˜ ์•ฝ์ž๋กœ, ํ”„๋กฌํ”„ํŠธ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ํด๋”๋ฅผ ๋‹ค๋ฅธ ํด๋”๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๋ช…๋ น์–ด pwd๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ช…๋ น์–ด ls๋ฅผ ์ด์šฉํ•ด helloWorld ํด๋”๋ฅผ ํ™•์ธํ•œ ๋‹ค์Œ, ๋ช…๋ น์–ด cd๋ฅผ ์ด์šฉํ•ด helloWorld ํด๋”๋กœ ์ง„์ž…ํ•œ๋‹ค.

pwd
# /Users/[์‚ฌ์šฉ์ž๋ช…]

ls
# cd๋ฅผ ์ด์šฉํ•ด ํด๋” helloWorld๋กœ ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค.
cd helloWorld
# pwd๋ฅผ ์ด์šฉํ•ด ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
pwd

๐Ÿ“‚ touch

touch: ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ

ํŒŒ์ผ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด touch๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

touch hi.txt

๐Ÿ“‚ cat

cat: ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•˜๊ธฐ

๋ช…๋ น์–ด cat์€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค.

cat hi.txt
  • ๋ช…๋ น์–ด cat์„ ์ด์šฉํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•˜๋ฉด, ํŒŒ์ผ์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์›๊ฒฉ ์„œ๋ฒ„์— ์ ‘์†ํ•œ ์ƒํƒœ์—์„œ, ๋„ˆ๋ฌด ํฐ ํŒŒ์ผ์„ ์ถœ๋ ฅํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์›๊ฒฉ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ์ผ์€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ด๋ค„์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์›๊ฒฉ์œผ๋กœ ์ ‘์†ํ•œ ์ƒํƒœ์—์„œ ํฐ ํŒŒ์ผ์„ ์ถœ๋ ฅํ•˜๋Š” ์ผ์€ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.
  • CLI๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์ตํ˜”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด CLI์—์„œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? CLI์—์„œ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก, CLI ์ „์šฉ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ์—๋””ํ„ฐ nano๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

ํด๋” ๋˜๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„์— ๊ณต๋ฐฑ(๋„์–ด์“ฐ๊ธฐ)์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉด, ๋ฐฑ์Šฌ๋ž˜์‹œ()๋ฅผ ์ด์šฉํ•ด ์ ์šฉํ•œ๋‹ค.

๐Ÿ“‚ rm

rm: ํด๋”๋‚˜ ํŒŒ์ผ ์‚ญ์ œํ•˜๊ธฐ

๋ช…๋ น์–ด rm์˜ ๋œป์€ remove(์‚ญ์ œํ•˜๋‹ค)์ด๋‹ค. ๋ช…๋ น์–ด rm์œผ๋กœ ์‚ญ์ œํ•œ ํด๋”๋‚˜ ํŒŒ์ผ์€, ํœด์ง€ํ†ต์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์‚ญ์ œ๋œ๋‹ค.

  • ๋ช…๋ น์–ด rm์€ ๋‹จ์ผ ํŒŒ์ผ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ํด๋”๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ์˜ต์…˜์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋ช…๋ น์–ด ls์˜ ์˜ต์…˜์ฒ˜๋Ÿผ ๋Œ€์‹œ(-)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ต์…˜์„ ์ž…๋ ฅํ•œ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์€ r๊ณผ f์ž…๋‹ˆ๋‹ค.

  • ์˜ต์…˜ r์€ "recursive"๋ฅผ ๋œปํ•˜๊ณ , ์˜ต์…˜ f๋Š” "force"๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

    • ์˜ต์…˜ r์€ ํด๋”๋ฅผ ์ง€์šธ ๋•Œ ์‚ฌ์šฉ
    • ์˜ต์…˜ f๋Š” ์งˆ๋ฌธ์„ ๋ฐ›์ง€ ์•Š๊ณ  ์ง€์šธ ๋•Œ ์‚ฌ์šฉ

์šฐ๋ฆฌ๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•  ๋•Œ ๋‘ ์˜ต์…˜์„ ๊ฐ™์ด ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.


๐Ÿ“‚ mv

mv: ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝ, ๋˜๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์œ„์น˜ ์˜ฎ๊ธฐ๊ธฐ

๋ช…๋ น์–ด mv๋Š” move์˜ ์•ฝ์ž๋กœ, ํด๋”๋‚˜ ํŒŒ์ผ์„ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

mkdir bye 
	# bye ํด๋”๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
touch bye.txt 
	# bye.txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

mv bye.txt bye/
  	# ํŒŒ์ผ bye.txt์„ bye ํด๋”๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
ls

๋ช…๋ น์–ด mv๋ฅผ ์ด์šฉํ•˜๋ฉด, ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

ls
	# bye.txt
mv bye.txt helloWorld.txt
	# ํŒŒ์ผ๋ช…์ด(bye.txt ->  helloWorld.txt)๋ณ€ํ™˜๋œ๋‹ค
ls
	# helloWorld.txt ํŒŒ์ผ์ด ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ“‚ cp

cp: ํด๋”๋‚˜ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ธฐ

๋ช…๋ น์–ด cp๋Š” copy์˜ ์•ฝ์ž๋กœ, ํด๋”๋‚˜ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ช…๋ น์–ด cp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š”, cp [์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„] [๋ณต์‚ฌํ•  ํŒŒ์ผ ์ด๋ฆ„]์„ ํ”„๋กฌํ”„ํŠธ์— ์ž…๋ ฅํ•œ๋‹ค๋‹ค.

ls
	# helloWorld.txt ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
cp helloWorld.txt hiComputer.txt
ls
	# helloWorld.txt hiComputer.txt ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
  • CLI์—์„œ .์€ ํ˜„์žฌ ํด๋”๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ..์€ ํ˜„์žฌ ํด๋”(.)์„ ๊ธฐ์ค€์œผ๋กœ, ์•ž์— .์ด ํ•˜๋‚˜ ๋” ๋ถ™์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ..์€ ํ˜„์žฌ ํด๋”๋ณด๋‹ค ์•ž์— ์žˆ๋Š” ํด๋”๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.
  • ๊ฐ ๋ช…๋ น์–ด์— ํฌํ•จ๋œ ์˜ต์…˜์€ ๋ช…๋ น์–ด ์ด๋ฆ„๋งŒ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ -h ๋˜๋Š” --help์™€ ๊ฐ™์€ ์˜ต์…˜์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ๊ด€๋ฆฌ์ž ๊ถŒํ•œ

์ ˆ๋Œ€ ๊ฒฝ๋กœ์˜ ๊ธฐ์ค€์ ์ธ ๋ฃจํŠธ ํด๋”(/)๋Š” Linux์˜ ๊ด€๋ฆฌ์ž ์˜์—ญ์ด๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์œผ๋กœ๋Š” ์–ด๋–ค ํด๋”๋‚˜ ํŒŒ์ผ๋„ ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค.

ํ˜„์žฌ ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค.

whoami
	# [username]

๐Ÿ“‚ sudo

sudo: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ํš๋“ํ•˜๋Š” ๋ช…๋ น์–ด

๋ช…๋ น์–ด sudo๋Š” ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ, ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ํš๋“ํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค.
๊ธฐ๋ณธ์ ์ธ CLI ๋ช…๋ น์–ด์˜ ์•ž์— ์ž‘์„ฑํ•œ๋‹ค. ํ•œ์‹œ์ ์œผ๋กœ๋‚˜๋งˆ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜์ง€ ์•Š์ง€๋งŒ, ํ„ฐ๋ฏธ๋„์— ์ •์ƒ์ ์œผ๋กœ ์ž…๋ ฅ๋˜๊ณ  ์žˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ž…๋ ฅํ•˜๊ณ  Enter(์—”ํ„ฐ ํ‚ค)๋ฅผ ๋ˆŒ๋ €๋‹ค๋ฉด, ํด๋”๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

mkdir justMkdir
sudo mkdir sudoMkdir
password:
	# ํƒ€์ดํ•‘์„ ํ•ด๋„ ์ถœ๋ ฅ์ด ์—†๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋”๋ผ๋„, ์ž…๋ ฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ค„์ง€๊ณ  ์žˆ๋‹ค.
ls
	# justMkdir sudoMkdir helloWorld.txt hi.txt

์ ˆ๋Œ€ ๊ฒฝ๋กœ์™€ ์ƒ๋Œ€ ๊ฒฝ๋กœ

์ (.)์€ ํ˜„์žฌ ํด๋”๋ฅผ, ์Šฌ๋ž˜์‹œ(/)๋Š” ํด๋” ๋‚ด๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ./๋Š” "ํ˜„์žฌ ํด๋” ์•„๋ž˜์˜"๋ผ๋Š” ๋œป์ด๋‹ค.
./hi๋Š” ํ˜„์žฌ ํด๋” ์•„๋ž˜์˜ ํด๋” hi๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

pwd
	# /Users/[username]/helloWorld/hello/hi
mv helloWorld.txt ../../
  	# ๋‚ด ํด๋”(hi)์˜ ์ƒ์œ„(hello)๋กœ ์ด๋™ + ๋‚ด ํด๋”(hello)์˜ ์ƒ์œ„(helloworld)๋กœ ์ด๋™
ls
	# hiComputer.txt
cd ../../
pwd
	# /Users/[username]/helloWorld/
ls
	# hello helloWorld.txt hi.txt
  • ์‚ฌ์šฉ์ž ํด๋”์˜ ๊ฒฝ๋กœ(Path)๋Š” ~/๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๊ฒฐ ๊ธฐํ˜ธ(~)๋Š” ๋ฃจํŠธํด๋”(/)๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ํด๋”(username)๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ•์•ฝํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

- ํ…์ŠคํŠธ ์—๋””ํ„ฐ nano

CLI ํ™˜๊ฒฝ์˜ ์—๋””ํ„ฐ์ด๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ์ž์œ ์ž์žฌ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์—๋””ํ„ฐ๊ฐ€ ํ•˜๋‚˜์ฏค์€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.


๐Ÿ“‚ nano ์‹คํ–‰

nano hello.js
	# hello.js ๋ฅผ nano์—์„œ ์—ฐ๋‹ค.
nano 
	# ๊ทธ๋ƒฅ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

nano ํ™”๋ฉด ์„ค๋ช…

(A) ํŒŒ์ผ ์ด๋ฆ„ ์•ˆ๋‚ด
(B) ํŒŒ์ผ ํŽธ์ง‘ ํ™”๋ฉด, ์‹ค์ œ๋กœ ์—ฌ๊ธฐ์„œ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
(C) ์‚ฌ์šฉ์— ํ•„์š”ํ•œ ๊ฐ์ข… ๋‹จ์ถ•ํ‚ค
์‚ฌ์‹ค์ƒ ์—ฌ๊ธฐ์— ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋„์›€์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ํ™”๋ฉด์— ํ‘œ์‹œ๋œ ^X ์™€ ๊ฐ™์€ ๋‚ด์šฉ์€ Ctrl + X ํ‚ค ์กฐํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.



๐Ÿ’ฌ Node.Js

JavaScript ๋Ÿฐํƒ€์ž„(runtime)์ค‘ ํ•˜๋‚˜์ธ Node.js
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๊ตฌ๋™๋˜๋Š” ํ™˜๊ฒฝ, ์ฆ‰ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•  ๋•Œ, ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ณณ์ด ๋ฐ”๋กœ ๋Ÿฐํƒ€์ž„์ด๋‹ค. ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ์™€ ๊ฐ™์€ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋Œ€ํ‘œ์ ์ธ JavaScript ๋Ÿฐํƒ€์ž„์ด๋‹ค. ๊ทธ๋ž˜์„œ JavaScript์˜ ์ฃผ๋œ ์šฉ๋„๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‚ nvm์ด๋ž€?

nvm์€ ๋‹ค์–‘ํ•œ Node.js version๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

nvm ls

๊ทธ๋Ÿผ ํ˜„์žฌ nvm์„ ํ†ตํ•ด ์„ค์น˜ํ•œ Node.js version๋“ค์ด ๋‚˜์˜จ๋‹ค. ํŠน์ • ๋ฒ„์ „์˜ Node.js๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

nvm install 12.18.3

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด๋ฏธ ์„ค์น˜๋œ ๋ฒ„์ „์„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” Node.js version์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ธ Node.js version์„ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋งŒ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

nvm use ๋ฒ„์ „ ๋„˜๋ฒ„
	# ์˜ˆ๋ฅผ ๋“ค์–ด, nvm use 12.18.3,  nvm use 14.15.5

nvm์œผ๋กœ Node.js์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋ฉด, Node.js๋ฅผ ์„ค์น˜ํ•˜๊ณ  version์„ ๋ฐ”๊พธ๋Š” ์ผ์ด ํŽธ๋ฆฌ๋‹ค.


๐Ÿ“‚ npm์ด๋ž€?

npm์€ node package manager๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋œ ํŒจํ‚ค์ง€๋ฅผ npm์„ ์‚ฌ์šฉํ•ด์„œ ์„ค์น˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น์‚ฌ์ดํŠธ, ์›น์•ฑ, ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋“ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ npm์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“‚ package๋ž€?

์–ด๋–ค ์‚ฌ๋žŒ์ด npm์— ๋ฐฐํฌํ•œ ์ฝ”๋“œ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ์‹œ๋กœ๋Š” angular, react, jQuery, Express, Socket.io๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ npmjs.com์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ npm์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ ๋‚ด์— package.json ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. package.json์€ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•œ ํŒจํ‚ค์ง€๋“ค์˜ ์ด๋ฆ„, ๊ทธ๋ฆฌ๊ณ  ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ ์–ด๋‘” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋•Œ package.json์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด

npm init

์œ„ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด package.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ package.json์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์ด๋ฉด ์ด๋ฏธ npm์ด ์„ธํŒ…๋˜์–ด์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

npm ์ฐธ์กฐ
https://yumyumcoding.tistory.com/28



๐Ÿ’ฌ Git

Git์ด๋ž€ ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ๋œ โ€˜๋ถ„์‚ฐํ˜• ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œโ€™ ์ž…๋‹ˆ๋‹ค.

์ด ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‚ ์งœ๋ณ„๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํŠน์ • ์‹œ์ ์— ์ƒ์„ฑ๋œ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ์Šค๋ƒ…์ƒท์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜ํ•˜๋‚˜ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์ž‘์—…์„ commit์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

commit์ด๋ผ๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์Šค๋ƒ…์ƒท์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ์ด์ „์˜ ๊ธฐ๋ก๋“ค์— ๋Œ€ํ•œ ์ถ”์ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํšŒ์‚ฌ์—์„œ ํ˜‘์—…์„ ํ•  ๋•Œ๋„ ๊ต‰์žฅํžˆ ์œ ์šฉํ•˜๊ฒ ์ฃ ?


๐Ÿ“‚ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

๋งŒ์•ฝ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ํŒŒ์ผ๋กœ ๋™์‹œ์— ์ž‘์—…ํ•˜๊ฑฐ๋‚˜, ์ด์ „ ์ƒํƒœ๋กœ ๋‹ค์‹œ ๋˜๋Œ๋ ค์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ์–ด๋””๋ถ€ํ„ฐ ์†์„ ๋Œ€์•ผ ํ• ์ง€ ๊ฐ์„ ์žก๊ธฐ ํž˜๋“ค ๊ฑฐ์˜ˆ์š”.
๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์†์‰ฝ๊ฒŒ ์ด์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ฒ„์ „ ๋ณ„๋กœ ๋ณ€๊ฒฝ๋œ ์ด๋ ฅ๋“ค์„ ์ €์žฅํ•˜๋Š” ์ž‘์—…์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐ€์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์ด์ „์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ๋“ค์ด ๊ธฐ๋ก๋˜์–ด ์žˆ์œผ๋‹ˆ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ฒ ์ฃ ?

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•  ๋•Œ๋Š” ์–ด๋–ค ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๊ผญ ์ž‘์„ฑ์„ ํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ˆ„๊ฐ€ ์–ด๋–ค ํŒŒ์ผ์„ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œํ–ˆ๋Š”์ง€๋„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ๋„ ์ค‘์š”ํ•œ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํŒŒ์ผ์€ Github, GitLab, Bitbucket ๋“ฑ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฑ์—…๊ณผ ํ˜‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‚ github & git

Git์€ ์†Œ์Šค ์ฝ”๋“œ ๊ธฐ๋ก์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
Github์€ Git Repository๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿ“‚ local repository & remote repository

Git repository๋Š” Remote Repository์™€ Local Repository ๋‘ ์ข…๋ฅ˜์˜ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • React ํ”„๋กœ์ ํŠธ์— contribute์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € React ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋‚ด ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด์ œ Fork ๋ฅผ ํ•˜๊ณ ๋‚˜ ๋ฉด ๋‚˜์˜ Remote Repository์— React ์ฝ”๋“œ๋ฅผ ์˜ฎ๊ฒจ์˜จ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    ์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…์ด ๋˜ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    ๊ทธ ๊ณผ์ •์„ Clone ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Remote Repository์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ Clone ํ•ด์„œ ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ง€๊ณ  ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

  • ๋‚ด ์ปดํ“จํ„ฐ์—์„œ React ์†Œ์Šค์ฝ”๋“œ ๋ณ€๊ฒฝ ์ž‘์—…์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ commit์„ ํ†ตํ•ด ์ €์žฅํ•ด ์ค€ ๋’ค, Remote Repository์— ๋ฐ˜๋Œ€๋กœ ์˜ฌ๋ ค์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    ์ด ๊ณผ์ •์„ Push ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Local Repository์— ๊ธฐ๋กํ•ด ๋†“์€ commit์„ Remote Repository๋กœ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋ ‡๊ฒŒ Push๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ๋‚˜๋ฉด GitHub์—๋Š” Pull request๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์–ด์„œ, ๋‚ด๊ฐ€ ์ œ์•ˆํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋ฐ˜์˜ ์—ฌ๋ถ€๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Remote Repository์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ Local Repository ๋กœ ๊ฐ€์ ธ์˜ค๋Š” Pull ์ž‘์—…



๐Ÿ‘€ ๋Œ์•„๋ณด๊ธฐ

ํ•˜๋ฃจ๊ฐ€ ์•„์ฃผ ๋นก๋นกํ•˜๊ฒŒ ๋Œ์•„๊ฐ”๋‹ค. ์ดˆ๋ฐ˜์˜ CLI๋Š” ์–ด๋Š ์ •๋„ ์ ์‘์ด ๋˜์—ˆ์œผ๋‚˜ ํŒจํ‚ค์ง€์™€ node.js๋ถ€ํ„ฐ ํ—ท๊ฐˆ๋ ธ๋‹ค. npm์€ ๊ณผ์ œ๋ฅผ ์ œ์ถœํ•˜๋ฉด์„œ ํ™•์‹คํžˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ด ์กฐ๊ธˆ ๋” ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•  ๋“ฏ ์‹ถ๋‹ค.

profile
๋ฌด์‚ฌ์™€์š”... ์—ด๊ณตํ–์š”...

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