๋ก์ปฌ ์ ์ฅ์์์์ git ์์ญ
- ์์
๋๋ ํ ๋ฆฌ
- ์ค์ ํ์ผ์ด ์ด๋ฃจ์ด์ง ๊ณณ
- Staging area
- ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด Staging area์ ์ ์ฅํ๊ณ ์ถ์ ํ์ผ๋ค์ ์ ๋ณด๋ฅผ ๋ฑ๋ก
git add๋ฅผ ํตํด ์์ ๋๋ ํ ๋ฆฌ์ ํ์ผ๋ค์ staging area์ ์ฌ๋ ค๋์ ์ ์์- ์ด ๋ ์์ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ฎ๊ธฐ๋ ๊ฒ์ด ์๋, ๋ณต์ฌํ๋ ๊ฒ.
- ์์ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์์ ํด๋ Staging area์ ํ์ผ์๋ ๋ฐ์๋์ง ์์
- Head(Git Directory)
- Staging Area์ ์๋ ํ์ผ๋ค์ ๊ฐ์ง๊ณ ์ต์ข ํ์ ๋ณธ(commit)์ ๋ง๋ค์ด ์ปค๋ฐ์ ์๋ฃ
ํ์ผ ์ํ ์ฉ์ด
- staged
- staging area์ ์๋ ํ์ผ๋ค
- staging area์ ์๋ ํ์ผ๋ค์ ์ปค๋ฐํ๊ฒ ๋๋ฉด ํด๋น ํ์ผ๋ค์ ํ๋์ ์ปค๋ฐ์ผ๋ก ์ ์ฅ๋ ํ ํ์ผ์ ์ํ๋ unmodified๋ก ๋ด๋ ค์ค๊ฒ ๋จ
- staging area์์ staged๋ ์ํ์ ํ์ผ
- tracking
- ํ์ผ์ ์ถ์ ํ์ฌ ํ์ผ์ ๋ณ๊ฒฝ์ ์ฌ์ฉ์์๊ฒ ์๋ ค์ค
- untracked
- ์ถ์ ๋์ง ์๋ ์ํ
- modified
- unmodified ์ํ์ ํ์ผ๋ค์ ์์ ํ๊ฒ ๋๋ฉด ๋ณํ๋ ์ํ
- ํ์ผ์ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง
SHA(Secure Hash Algorithm)
- ์์ ํ ํด์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ค
- โSHA-256โ์ Secure Hash Algorithm 256-bit์ ์ค์๋ง๋ก, ์ํธํ์ ํด์ย ํจ์ ์ค ํ๋
- ํด์ ํจ์ โ ์์์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ์ ํด์ ๊ฐ์ผ๋ก ๋ณํํ๋ ํจ์
- SHA-256์ 256๋นํธ(32๋ฐ์ดํธ) ๊ธธ์ด์ ํด์ ๊ฐ์ ์์ฑํ๋ฉฐ, ์ฃผ๋ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ, ๋ฉ์๋ ์ธ์ฆ ์ฝ๋(MAC) ์์ฑ, ๋น๋ฐ๋ฒํธ ์ ์ฅ ๋ฑ ๋ค์ํ ๋ณด์ ๊ด๋ จ ์์ ์ ์ฌ์ฉ๋๋ค.SHA-256์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์์ ๋ณํ์๋ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ๋ ๋ฐ ์ ์ฉํ๋ค.
- SHA-256์ย ์ผ๋ฐฉํฅ ํด์ ํจ์์ด๋ฏ๋ก, ํด์ ๊ฐ์ ํตํดย **์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ ์๋ ์์.**๋ฐ๋ผ์ ์ฃผ๋ก ๋น๋ฐ๋ฒํธ์ ์์ ํ ์ ์ฅ๊ณผ ๋น๊ต, ํ์ผ์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋ฑ์ ํ์ฉ๋๋ค.
Git ๋ฏ์ด๋ณด๊ธฐ
์ฐ๋ฆฌ๊ฐ ๊น์ ํ์ ๊ด๋ฆฌ ํด๋ก ๋ง์ด ์ฐ์ง๋ง ์ ์ ์ด๋ฌํ ๊น์ ์๋ ์๋ฆฌ๋ ๋ด๋ถ ๊ตฌ์กฐ์ ๋ํด์ ์์๋ณธ ์ ์ ๊ฑฐ์ ์๊ณ ์์ผ๋ก๋ ์์ ์ฌ๋์ด ๋ง์ ๊ฒ์ด๋ค. ํ์ง๋ง ๋ฌด์์ธ๊ฐ๋ฅผ ์ ์๊ธฐ ์ํด์ ๊ตฌ์กฐ๋ฅผ ์๋ ๊ฒ์ ํ์์ ์ด๊ณ , ๊ณต๋ถํ๋ค๋ณด๋ฉด ๊ณ์ํด์ ํ์ ์์๋ ์ฐ์ผ ๊น์ ํ์ฉ์ฑ์ ๋ณด๋ค ๋์ผ ๊ฒ์ด๋ค.
๊น์ ๋ด๋ถ๊ตฌ์กฐ
๊น์ ์ฐ๋ฆฌ๊ฐ ๋งจ๋ initํ๊ณ addํ๊ณ ์ด๊ฒ์ ๊ฒ ํ๋๋ฐ ์ ์ ์ด ๋ช ๋ น์ด๋ฅผ ํตํด์ ๋ญ๊ฐ ์ด๋ป๊ฒ ๋ฐ๋๋์ง ๋ชจ๋ฅธ๋ค. ํ๋ฒ ์ ๋๋ก ์์๋ณด์.
Init์ ํตํ ํ๋ก์ ํธ ์์ฑ
UNIX ์ด์์ฒด์ ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๋ ์ด๋ฆ์ด๋ ํ์ผ ์ด๋ฆ ์์ .์ ๋ถ์ด๋ฉด ์จ๊น์ฒ๋ฆฌ๊ฐ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ด๋ฌํ init์ ํตํด ๋ญ๊ฐ ๋ง๋ค์ด์ง๋์ง ๋ชจ๋ฅด๋ ์ฌ๋๋ ๋ง์์ ๊ฒ์ด๋ค.(๋๋ ๊ทธ๋ฌ๋ค)
์ฐธ๊ณ ๋ก ๋งฅ์ Shift + cmd + . ์ ๋๋ฅด๋ฉด ์จ๊นํ์ผ์ ๋ณผ ์ ์๋ค.
git init์ ํ๋ฉด .git์ด๋ผ๋ ๋๋ ํ ๋ฆฌ๊ฐ ๋ด๊ฐ init์ ์คํํ ๊ฒฝ๋ก์์ ๋ง๋ค์ด์ง๋ค.
๋ญ๊ฐ ๋๊ฒ ๋ง๋ค.
์ฌ๊ธฐ์์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ชฉํด์ผ ํ ๊ฒ๋ค์ ๋ฐ๋ก ์๋ค.
/Objects
.git/objects .git/objects/info .git/objects/pack ์ด๋ฌํ Objects ๋๋ ํ ๋ฆฌ์ ๋ด์ฉ๋ค์ด ๊ฐ์ฅ ์ค์ํ๋ค.
์ฒ์์ ์ด ๋๋ ํ ๋ฆฌ์๋ ์๋ฌด๊ฒ๋ ์์ง๋ง, ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ addํ๊ฒ ๋๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ๋ก 2๊ฐ์ง ๊ธ์๋ก ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์๋๋ก 38๊ธ์์ ํ์ผ๋ช ์ ๊ฐ์ง๋ ํ์ผ์ด ๊ฐ๊ฐ ๋ค์ด๊ฐ ์๋ค.
์ด Objects์ ๊ตฌ์ฑ์ ์ค์ ํ์ผ์ ๋ด๊ธด ๊ฐ๋ค์ zlib์ผ๋ก ์์ถํ ๋ค, SHA1 ํด์ํ ๊ฐ์ 2/38๊ธ์๋ก ์๋ฅธ ๊ฒ์ด๋ค.
ํด์๊ฐ์ ๋ด์ฉ์ด ๋๊ฐ์ง ์์ ์ด์ ์กฐ๊ธ์ด๋ผ๋ ๋ณ๋์ด ์๊ธฐ๋ฉด ๋ฌ๋ผ์ง๋ฏ๋ก ํ์ผ ์๋ณ์ด ์ข์์ง๋ค. ๋ฐ๋ผ์ ๊ธฐ์กด ํ์ผ์ ๋ํ ์์ ์ด ์ด๋ฃจ์ด์ก์ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ๊ณผ ํ์ฌ์ ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ํจ๊ป ์ ์ฅ๋์ด ์๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ git revert์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ด์ ์ปค๋ฐ ๊ธฐ๋ก ํ์ผ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฒ์ด๋ค.
์ด Objects ์์ ๋ค์ด๊ฐ๋ ๊ฐ์ฒด๋ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
- Blob
- Tree
- Commit
- tag(dlc)
Blob
Blob์ ๋ํ ์ด์ง ๊ฐ์ฒด(Binary Large Object)๋ผ๋ ์ด๋ฆ์ ์ฝ์์ด๋ค. ๋๊ฐ ํ ๋ฏ์ด ์ด๋ฏธ์ง, ์ฌ์ด๋, ๋น๋์ค์ ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๊ธฐ ์ข์ ๊ฐ์ฒด์ด๋ฉฐ JSON๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ ๋ค๋ฃฐ ์ ์๋ค. ํ์ง๋ง ์ด๋ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ํฐ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ๋ฐ์์๋ Blob ๊ฐ์ฒด๋ฅผ ๋ค๋ฃฐ ์๋ ์์ง๋ง ArrayBuffer, ArrayBufferView, File, DOMString ๊ฐ์ฒด์ ๊ฐ์ ํ์ ์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ง ๋ด์ ์ ์๋ค.
const blob = new Blob([new ArrayBuffer(data),{
type: "application/json"
})์๋ฐ์คํฌ๋ฆฝํธ์์ ์ด๋ฌํ ์์ผ๋ก ๋ง๋ค ์ ์๋ค.
์ด ๊ฐ์ฒด๋ ํด๋น ํ์ผ์ ๋ฐ์ดํธ ํฌ๊ธฐ size์ MIME ํ์
์ ๋ํ๋ด๋ type Property๋ฅผ ๊ฐ์ง๋ค.
Tree
ํธ๋ฆฌ๋ ์ปค๋ฐ๋น ํ๋ ์ด์์ ํธ๋ฆฌ๋ฅผ ํฌํจํ๋ ๊ฐ์ฒด์ด๋ค.
Tree์ ํน์ด์ ์ด๋ผ๊ณ ํ๋ค๋ฉด, ์ ๋์ค ๊ทธ๋ฌ๋๊น ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ๋ฆฌ๋
์ค๋ ๋งฅ์์์ ํ์ผ ์์คํ
๊ณผ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค. (ํ๊ธด ๋ฆฌ๋์ค ํ ๋ฅด๋ฐ์ฆ๊ฐ ๋ง๋ค์์ผ๋)
ํธ๋ฆฌ๋ ์๋ธ ํธ๋ฆฌ ๋๋ BLOB๊ฐ์ฒด๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด๋ฌํ ์๋ธ ํธ๋ฆฌ์ ๊ฒฝ์ฐ ๋๋ ํ ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ํํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
$ git cat-file -p master^{tree} //<-- master๋ธ๋์น๊ฐ ๊ฐ๋ฆฌํค๋ Tree ๊ฐ์ฒด
100644 blob a906cb2a4a904a152e80877d4088654daad0c859 README
100644 blob 8f94139338f9404f26296befa88755fc2598c289 Rakefile
040000 tree 99f1a6d12cb4b6f19c8655fca46c3ecf317074e0 lib <-- ๋ค๋ฅธ Tree ๊ฐ์ฒดํด๋น ๊น์ Tree๊ฐ์ฒด๋ฅผ ๋ณด๋ฉด ํ์ผ ์๋ณ์ / ๊ฐ์ฒด / ํด์๊ฐ / ํ์ผ๋ช
์ผ๋ก ๋์ด ์์์ ์ ์ ์๋ค.
์ฌ๊ธฐ์ ํ์ผ ์๋ณ์๋
- 100644(์ฝ๊ธฐํ์ผ(blob))
- 100755(์คํํ์ผ(blob))
- 040000 ๋๋ ํฐ๋ฆฌ(Tree) ๋ฅผ ์๋ฏธํ๋ค. ๋ค์ ์ซ์๋ ํ์ผ ์์คํ ๋ชจ๋(๊ถํ)์ ์๋ฏธํ๋.
Commit
์ปค๋ฐ์ ๋ถ๋ชจ ์ปค๋ฐ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ณต์ ํ๋ค.
์ด ์ปค๋ฐ์ ๋ง๋ค์ด์ง ๋ ๋ถ๋ชจ ์ปค๋ฐ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ฐ์ ธ์ค๋ฉด์ commit tree๋ฅผ ๋ง๋ค์ด ์ปค๋ฐ ๊ฐ์ฒด์ ๋ํ ์ค๋ช ๊ณผ Tree ๊ฐ์ฒด์ SHA-1๊ฐ์ ๋๊ธด๋ค.
์ด ๋ ์ด Tree๊ฐ์ฒด๋ ์ต์๋จ Tree๋ฅผ ํ๋ ๊ฐ๋ฆฌํค๋๋ฐ. username๊ณผ user.email ์ค์ ์์ ๊ฐ์ ธ์จ ์ ๋ณด, ์๊ฐ์ ๋, ์ปค๋ฐ ๋ฉ์์ง๊ฐ ๋ค์ด๊ฐ
๊น์ ๋๋ถ๋ถ์ ๊ฐ์ฒด๊ฐ ๋ถ๋ณ ๊ฐ์ฒด์ธ ๋งํผ, commit ๊ฐ์ฒด ๋ํ ๋ถ๋ณ์ฑ(immutable)์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ ๊ณง ์ ๋ฐ์ดํธ๋์ง ์๋๋ค๋ ์๋ฏธ๊ธฐ๋ ํ๋ค.
์ด๋ฌํ commit ๊ฐ์ฒด์๋
- ์์ฑ์
- ์ปค๋ฐ ์คํ์
- ์ปค๋ฐ ๋ ์ง
- ๋ก๊ทธ ๋ฉ์์ง
- tree ๊ฐ์ฒด ๋ฑ์ ์ ๋ณด๋ฅผ ์ง๋๋ค.
tag
ํ๊ทธ๋ ๊ผฌ๋ฆฌํ์ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. ์ด๋ฌํ tag๋ ์ฐ๋ฆฌ๊ฐ git tagํ ๋ ์์ฑ๋๋ฉฐ, commit ๊ฐ์ฒด๋ช , tag ์ด๋ฆ, tagger, ๋ฉ์์ง ๋ฑ์ด ๊ธฐ๋ก๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฃผ ์ฐ์ง๋ ์์ง๋ง ํ๊ทธ๋ฅผ ํตํด ๋ฒ์ ๋ช ๋ฑ์ ๋ฌ์์ ๊ด๋ฆฌํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ์ต์ ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฌํ ๊ฐ์ฒด๋ค์ ์ด๋ ์์ ์์ ์๊ธฐ๊ณ , ์ด๋ค ์์ ์์ ์๊ฒฉ ์ ์ฅ์๋ก ๊ฐ๋ ๋ฑ์ ํ๋ฆ์ ์์๋ณด์.
๊น์ด commit ๋๊ธฐ๊น์ง
๊ธฐ๋ณธ์ ์ผ๋ก ๊น์์ ๋ด๊ฒจ ์๋ ๋ฐ์ดํฐ๋ค์ ํ์ผ ์์คํ ์์์์ ์ค๋ ์ท์ด๋ค. ์ฆ, ์ฐ๋ฆฌ๊ฐ ์ ์ฅํ๋ ์ปค๋งจ๋(์ปค๋ฐ)ํ์ฌ ์ ์ฉํ ๋์ ์๊ฐ์ ์ค์์ํ๋ค.
๊น ํ๋ก์ ํธ๋
- Working Directory : ์์ ํ ํ์ผ์ด ์๋ ๋๋ ํ ๋ฆฌ๋ก untracked/tracked ์ํ์ ํ์ผ๋ค๋ก ๋๋์ด์ง
- Staging Area: ์ปค๋ฐ์ ์ํํ ํ์ผ๋ค์ด ์ฌ๋ผ์์๋ ์์ญ
- repository : ์ปค๋ฐ๋ค์ด ๋ชจ์ฌ์๋ ์์ญ ๋ฑ์ ๊ตฌ์ฑ์์๋ฅผ ๊ฐ์ง๋ค.
ํด๋น ์ฌ์ง์ Pro Git์ ๋์ค๋ ํ์ผ์ ์ํ ๋ณํ๋์ด๋ค. ํด๋น ์ํ๋ฅผ ๋ฐ๋ผ๊ฐ๋ณด์.
์ฐ๋ฆฌ๊ฐ ๋งจ ์ฒ์์ git init์ ํตํด ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ , ํ์ผ์ git add ํ๊ฒ ๋๋ฉด ์ปค๋ฐํ ํ์ผ๋ค์ Staging area์ ์ถ๊ฐ๋๋ค.
ํ์ง๋ง ์ด ํ์ผ๋ค์ ๋ฐ๋ก repository๋ก ๊ฐ๋ ๊ฒ์ด ์๋, ํด๋น staging Area์ ์ฌ๋ผ์ ์๋ค๊ฐ ์ฐ๋ฆฌ๊ฐ git commit์ ํ๊ฒ ๋๋ฉด ๋น๋ก์ repository๋ก ๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ์ด commit์ ํด์ repository๋ก ๊ฐ๊ธฐ ์ ๊น์ง์ ๊ณผ์ ์์ ๋งจ ์ฒ์์๋ unmodified ์ํ๋ก, ์ ๊ท๋ก ํ์ผ์ด ์ถ๊ฐ๋์์ ๋๋ฅผ ์๋ฏธํ๋ค. ํด๋น ์ฌ์ง์์๋ ๋ฐ๋ก staged ์ํ๋ก ์งํํ๋ ๊ฒ์ฒ๋ผ ๋์์๋ค. ์๋ํ๋ฉด statged ์ํ๊ฐ Staging Area์ ๋ฐ์๋ ์ํ์์ ๋ํ๋ด๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
git add ๋ฅผ ํ ๋ค๋ก unmodified ์ํ์๋ ํ์ผ๋ค์ ๋ง์ฝ์ ์์ ์ด ์ด๋ฃจ์ด์ง๋ฉด Modified ์ํ๊ฐ ๋๊ณ , ์ด๋ฅผ ๋ค์ add๋ฅผ ํตํด์ Staging Area๋ก ๋ค์๊ธ ์ฌ๋ฆด ์ ์๋ค.
์ด๋ฌํ Staging Area๋ ๋๋ ํ ๋ฆฌ ๋ฟ๋ง์ด ์๋๋ผ ํ์ผ ๋จ์๋ก๋ Staging Area์ ์ฌ๋ ค๋์ ์ ์๊ธฐ ๋๋ฌธ์ ์ผ๋ถ๋ถ๋ง ์ปค๋ฐํ ๋๋ ์ผ๋ถ์์ ์ผ์ด๋ ์ถฉ๋์ ํด์ ํ ๋ ์ ์ฉํ๋ค.
์ด๋ ๊ฒ Staging Area์ ์ฌ๋ฆฐ ๊ฒ๋ค์ git commit์ ํตํด์ ํด๋น ์ปค๋ฐ์ ๋ํด์ Tree Object๋ฅผ ๋ง๋ค๊ณ , ์ด๋ฌํ Tree Object๋ฅผ ๊ฐ๋ฆฌํค๋ Commit Object๋ฅผ ๋ง๋ค๋ฉฐ, ์ด๋ฌํ ์ปค๋ฐ๋ค์ index๋ผ๋ ํ์ผ์ ํตํด ์ปค๋ฐ๋ค์ ํด์๊ฐ์ ๊ด๋ฆฌํ๋ค. ์ด๋ ๊ฒ ๊ฐ๋ ๊ณผ์ ์์
- ๊ฐ์ฒด์ ํ์ ์ blob์ผ๋ก ๋ง๋ค๋ฉด์ ํค๋๋ฅผ ๋จผ์ ๋ง๋ฆ
- ๊ณต๋ฐฑ ๋ฌธ์ ํ๋, ๋ด์ฉ์ ํฌ๊ธฐ, ๋ง์ง๋ง์ ๋ ๋ฌธ์๋ฅผ ์ถ๊ฐ
- ํค๋์ ์๋ ๋ด์ฉ์ ํฉ์ณ์ SHA-1 ์ฒดํฌ์ฌ ๊ณ์ฐ
- zlib์ ํตํด ๋ด์ฉ ์์ถ(zlib-deflate.delfate())
- ์์ถํ ๋ด์ฉ์ ๊ฐ์ฒด๋ก ์ ์ฅ
- SHA-1๊ฐ ์ค์์ ๋งจ ์์ ์๋ ๋ ์๋ฅผ ๊ฐ์ ธ๋ค ํ์ ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ
- ๋๋จธ์ง 38์๋ฅผ ๊ทธ ๋๋ ํ ๋ฆฌ ์์ ์๋ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ
- fileUtils.mkdir๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ฐ ๋ค์์ ์์ถํ ๋ด์ฉ์ ์ ์ฅ ์ ๊ฐ์ ํ์ผ๋ค์ ์ ์ฅ์ด ์ด๋ฃจ์ด์ง๊ฒ ๋๋ค.