Skip to content

Latest commit

ย 

History

History
318 lines (181 loc) ยท 8.85 KB

git.md

File metadata and controls

318 lines (181 loc) ยท 8.85 KB

Git

git init . : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์ž‘ // .git ํŒŒ์ผ์— ๋ฒ„์ „๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค์ด ์žˆ์Œ.
git init ์ €์žฅ์†Œ์ด๋ฆ„ : ์ €์žฅ์†Œ์ด๋ฆ„ ์ด๋ผ๋Š” repository๋ฅผ ์ƒ์„ฑ
git status : ํ˜„์žฌ ์ƒํƒœ ๋ฒ„์ „๊ด€๋ฆฌ ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. // untracted ํŒŒ์ผ์€ ๋ฒ„์ „๊ด€๋ฆฌ ์•ˆ ๋“ค์–ด๊ฐ„ ๊ฒƒ.
git add : untracted ํŒŒ์ผ์„ staging area์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ. ๊ทธ๋Ÿฌ๋ฉด committed file
git commit : ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋ฅผ ๋„์šด๋‹ค.
git config --global core.editor "vim" : ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋ฅผ ๋น”์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
git commit -m "a": "a"๋ผ๋Š” ์ด๋ฆ„์˜ repository ๋ฒ„์ „์„ ๋งŒ๋“ ๋‹ค.
git commit -am "a" : staging area์— ์žˆ๋Š” ํŒŒ์ผ์˜ ์ˆ˜์ •์‚ฌํ•ญ์„ ์ €์žฅํ•˜๊ณ , "a"๋ผ๋Š” ์ด๋ฆ„์˜ repository ๋ฒ„์ „์„ ๋งŒ๋“ ๋‹ค.
git commit --amend : ์—๋””ํ„ฐ๋กœ ๋“ค์–ด๊ฐ€์„œ commit message๋ฅผ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋‹ค.
git log : ๋ฒ„์ „์˜ ์—ญ์‚ฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. // q๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
git log -stat : ๋ฒ„์ „๋งˆ๋‹ค ์–ด๋–ค ํŒŒ์ผ์ด ์—ฐ๋ฃจ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
git log -p : ๊ฐ ๋ฒ„์ „๋งˆ๋‹ค ์–ด๋–ค ์ˆ˜์ •์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
git log --all --graph --oneline : ๋ชจ๋“  ๋ธŒ๋žœ์น˜๋ฅผ ๋ณด๊ณ , ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด๊ณ , ์žฅํ™ฉํ•˜์ง€ ์•Š๊ฒŒ log๋ณด๊ธฐ
git checkout ๋ฒ„์ „์ฃผ์†Œ : ํ•ด๋‹น ๋ฒ„์ „์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
git checkout ๋ธŒ๋žœ์น˜์ด๋ฆ„ : ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•จ๊ณผ ๋™์‹œ์— ๊ทธ ๋•Œ์˜ ๋ฒ„์ „์œผ๋กœ ๊ฐ„๋‹ค.
git checkout master : ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
git diff : ๋งˆ์ง€๋ง‰ ๋ฒ„์ „๊ณผ working tree ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.(commit ์ „ ๋งˆ์ง€๋ง‰ ๊ธฐํšŒ๋กœ ์ด์ „์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.)
git reset --hard : local์—์„œ ์ˆ˜์ •ํ–ˆ์ง€๋งŒ ์ด๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ๋ฒ„์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๋Š” ๊ฒƒ.
git reset --hard ๋ฒ„์ „์ฃผ์†Œ : master๋ฒ„์ „์„ ๋ฒ„์ „์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ.
git revert ๋ฒ„์ „์ฃผ์†Œ : ๋ฒ„์ „์ฃผ์†Œ์—์„œ ์ˆ˜์ •๋œ ์‚ฌํ•ญ๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œํ•˜์—ฌ ๋ฒ„์ „์œผ๋กœ ๋‚จ๊ธด๋‹ค. ์ด์ „ ์ƒํƒœ๋กœ ๋Œ๋ฆฌ๊ธฐ๋Š” ๋Œ๋ฆฌ๋Š”๋ฐ ์—ญ์‚ฌ๋ฅผ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.
cf) ๋ฒ„์ „์ฃผ์†Œ๋Š” ๊ธฐ์–ตํ•˜๊ธฐ ํž˜๋“œ๋‹ˆ๊นŒ tag๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
git branch ๋ธŒ๋žœ์น˜์ด๋ฆ„ : ๋ธŒ๋žœ์น˜์ด๋ฆ„ ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ ๋‹ค. 
// ๋ธŒ๋žœ์น˜ : ํ•˜๋‚˜์˜ repository ์•ˆ์—์„œ ๊ณตํ†ต์˜ ๋ฒ„์ „์„ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ๊ฐ์ž์˜ ๋ฒ„์ „์„ ๋˜ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…
cf) git logํ•ด์„œ ๋ธŒ๋žœ์น˜๋“ค์˜ ๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋ฒ„์ „๋‹จ์œ„๋กœ ๊ฐ€์ง€๋ฅผ ๋ป—์–ด๋‚˜๊ฐ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ .
git merge ํ•ด๋‹น๋ธŒ๋žœ์น˜ : ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ master๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉํ•œ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋งŒ๋“ ๋‹ค.
  • working tree : ๊ธฐ๋ณธ ์ž‘์—… ๊ณต๊ฐ„, ์ƒˆ๋กœ ๋งŒ๋“  ํŒŒ์ผ์ด ์—ฌ๊ธฐ์— ์†Œ์†๋œ๋‹ค.(untracked file)
  • staging area : ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ํŒŒ์ผ์„ ์˜ฌ๋ ค๋‘๋Š” ๊ณณ, git add๋ฅผ ํ•œ ํŒŒ์ผ์ด ์—ฌ๊ธฐ์— ์†Œ์†๋œ๋‹ค. ์ด ๊ณต๊ฐ„๋ถ€ํ„ฐ git์˜ ๊ด€ํ•  ์•„๋ž˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ์„ git commit ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ์‹œ์ž‘๋œ ๊ฒƒ์ด๋‹ค.
  • repository : ๋ฒ„์ „์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ณณ(.git ํŒŒ์ผ),
cf) HEAD๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ master branch๋ฅผ ํฌ์ธํŒ…ํ•˜๊ณ  ์žˆ๊ณ , master branch๋Š” ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์‹ค์ œ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

  1. Local => Repository
git add ํ•ด๋‹นํŒŒ์ผ   // ํ˜น์€ git add .
git commit -m "Commit Message"
git push
  1. Merge (๊ฐ ๋ธŒ๋žœ์น˜๊ฐ€ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ, ๊ฐ™์€ ํŒŒ์ผ์ด๋ผ๋„ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ)
git checkout master
git merge ํ•ฉ์น ๋ธŒ๋žœ์น˜    // ์‹ค์ˆ˜ํ–ˆ๋‹ค๋ฉด git reset --hard ๋ฒ„์ „์ฃผ์†Œ
  1. Merge (๊ฐ ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐ™์€ ํŒŒ์ผ์˜ ๊ฐ™์€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ)
git checkout master
git merge ํ•ฉ์น ๋ธŒ๋žœ์น˜    // ์ด๋Ÿฌ๋ฉด CONFLICT ๊ฐ€ ๋œฌ๋‹ค
๊ทธ ํŒŒ์ผ์„ ์—๋””ํ„ฐ๋กœ ์—ด๊ณ  ๋“ค์–ด๊ฐ€๋ณด๋ฉด ๊ฐ™์€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์œผ๋กœ ์ฑ„์›Œ์ ธ์žˆ๋‹ค.

<<<<<<<<<<<<<< HEAD
๋ถˆ๋ผ๋ถˆ๋ผ1
==========
๋ถˆ๋ผ๋ถˆ๋ผ2
>>>>>>>>>>>>>> ํ•ฉ์น ๋ธŒ๋žœ์น˜

๋ถˆ๋ผ๋ถˆ๋ผ1์€ HEAD์—์„œ ์ˆ˜์ •์„ ํ•œ ๋‚ด์šฉ์ด๊ณ , ๋ถˆ๋ผ๋ถˆ๋ผ2๋Š” ํ•ฉ์น ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜์ •์„ ํ•œ ๋‚ด์šฉ์ด๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚ด๊ฐ€ ์ตœ์ข… ์ˆ˜์ •์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

<<<<<<<<<<<<<<< HEAD
>>>>>>>>>>>>>>> ํ•ฉ์น ๋ธŒ๋žœ์น˜
==========

์ด๊ฑฐ 3๊ฐœ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์šฐ๊ณ , ์ •๋ง ๋“ค์–ด๊ฐˆ ๋‚ด์šฉ์„ ์ฑ„์šด๋‹ค.
git add ํ•ด๋‹นํŒŒ์ผ  
git commit
๋.
  1. git cloneํ•ด์„œ ํ•ด๋‹น ๋‚ด์šฉ์„ ๋‚˜์˜ ์ €์žฅ์†Œ์—์„œ ๊ณ„์† ์ž‘์—…ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

    ๋‚˜์˜ ์ €์žฅ์†Œ ํ•˜๋‚˜ ๋ง๋“ค์–ด ๋†“๊ณ  ์‹œ์ž‘
    
    git clone otherrepository_url
    cd otherrepository
    git remote -v
    git remote remove origin
    git remote add origin myrepository_url
    git remote -v
    git push -u origin master

๊ฐ์ข… ๋ฌธ์ œ ๋ฐ ํŒ


1. ๋กœ๊ทธ์ธ ์—†์ด ์›๊ฒฉ ์ €์žฅ์†Œ ์ด์šฉํ•˜๊ธฐ

: https๊ฐ€ ์•„๋‹Œ ssh๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž๋™๋กœ๊ทธ์ธ์˜ ํŽธ์ต์„ ์–ป์„ ๊ฒƒ์ด๋‹ค. repository์— public key๋ฅผ ๋‘๊ณ , local์— private key๋ฅผ ๋‘๋Š” ์‹์œผ๋กœ ์ด๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

  1. ๋กœ๊ทธ์ธ ์—†์ด git push๋ฅผ ํ•˜๊ณ  ์‹ถ์€ pc์˜ home ๋””๋ ‰ํ† ๋ฆฌ์—์„œ
ssh-keygen

2. git pull์„ ํ•˜์ง€ ์•Š๊ณ  ์ž‘์—…์„ ํ–ˆ๋‹ค๊ฐ€..

: ์ง‘์—์„œ ์ž‘์—…ํ•˜๊ณ  pushํ•œ ๋‹ค์Œ์—, ๋‹ค์Œ๋‚  ํšŒ์‚ฌ์— ๊ฐ€์„œ pull์„ ํ•˜์ง€ ์•Š๊ณ  ์ž‘์—…์„ ํ•ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

ํšŒ์‚ฌ์—์„œ ์ž‘์—…์„ ๋งˆ์น˜๊ณ  push๋ฅผ ํ–ˆ๋”๋‹ˆ git pull์„ ํ•˜๋ผ๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›์•˜๋‹ค. ํ—‰! ๊ทธ๋Ÿฌ๋ฉด, git pull์„ ํ•˜๋ฉด ์˜ค๋Š˜ ์ž‘์—…ํ•œ ๋‚ด์šฉ์ด ๋‹ค ์‚ฌ๋ผ์ง€๋Š”๊ฒŒ ์•„๋‹๊นŒ ํ•˜์ง€๋งŒ. ๋’ค๋Šฆ๊ฒŒ git pull์„ ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ์ด์ „ ์ƒํƒœ๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ๋‚ด local์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ๋„ add๋˜์ง€ ์•Š์€์ฑ„๋กœ ๋‚จ์•„์žˆ๋‹ค.

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

3. 100MB๋„˜๋Š” ๊ฑธ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ–ˆ๋‹ค๊ฐ€,,

: ๋ฌผ๋ก , 100MB๊ฐ€ ๋„˜๋Š” ํŒŒ์ผ์„ ์˜ฌ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ง€๊ธˆ์€ ์„ค์น˜ํŒŒ์ผ์ด๋‚˜ ํ•„์š”์—†๋Š” (100MB๊ฐ€ ๋„˜๋Š”)ํŒŒ์ผ์„ ๋ชจ๋ฅด๊ณ  pushํ–ˆ๋‹ค๊ฐ€ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

์ผ๋‹จ, commit์„ ํ•ด๋ฒ„๋ฆฐ ์ƒํƒœ๋ผ๋ฉด, ๋กœ์ปฌ์—์„œ 100MB๊ฐ€ ๋„˜๋Š” ํŒŒ์ผ์„ ์ง€์šด๋‹ค๊ณ  ํ• ์ง€๋ผ๋„ push๋Š” ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋ฉด commit ์„ ์ทจ์†Œํ•ด์•ผํ•œ๋‹ค.

commit ์„ ์ทจ์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ reset๊ณผ revert๊ฐ€ ์žˆ๊ณ , reset์˜ ๊ฒฝ์šฐ๋ฅผ ์•Œ์•„๋ณด์ž.

git log

๋ฅผ ํ•ด๋ณด๊ณ , ์ด์ „ ์ปค๋ฐ‹ ์ฝ”๋“œ๋ฅผ ์นดํ”ผํ•ด์„œ resetํ•œ๋‹ค.

git reset [๋Œ์•„๊ฐ€๊ณ  ์‹ถ์€ commit์ฝ”๋“œ] --hard

4. ํŠน์ • ๋ธŒ๋žœ์น˜ ํด๋ก 

git clone -b sangjin --single-branch https://github.com/BAECHOOs/Spring-toyproject.git

5. git ์ž‘์„ฑ์ž ๋ณ€๊ฒฝ

git commit --amend --author="์ž‘์„ฑ์ž๋ช… <email์ฃผ์†Œ>"

6. gitํด๋”์— ํ™”์‚ดํ‘œ ๋ฐฉํ–ฅ

git rm --cached . -rf

๋ฅผ ํ•˜๊ณ , ๋‹ค์‹œ git add / commit / push๋ฅผ ํ•ฉ์‹œ๋‹ค.

cf) ์•Œ์•„๋‘๋ฉด ์ข‹์€ ๋ช…๋ น์–ด

1) add ์ทจ์†Œ

git rm --cached *

2) commit ์ทจ์†Œ

git reset HEAD^

(๋ฐ”๋กœ ์ง์ „ commit์„ ์ทจ์†Œํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.)

3) ์ถ”์  ์ค‘์ง€

git update-index --assume-unchanged [ํŒŒ์ผ]

$ git update-index --no-assume-unchanged [ํŒŒ์ผ]

๋””๋ ‰ํ† ๋ฆฌ ์ถ”์ ์ด ์•ˆ๋˜๋ฉด ํŒŒ์ผ๋ช… ๋์— '/' ๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค.

4) ์ž„์‹œ ์ €์žฅ

git stash  // working directory ๊นจ๋—ํ•˜๊ฒŒ

git stash apply // ๋ณต๊ตฌ

5) ์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ณ ์น ๊นŒ

  1. ํ‘ธ์‹œ ์ „์ธ ๊ฒฝ์šฐ

    git commit --amend -m "์ˆ˜์ •ํ•  ๋ฉ”์„ธ์ง€"
    

    image

    image

  2. ํ‘ธ์‹œ๋ฅผ ํ•ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ

    : push๋ฅผ ์ทจ์†Œํ•  ์˜ˆ์ •์ด๋‹ˆ, ์•ˆ์ „ํ•˜๊ฒŒ ์ž‘์—…ํ•œ ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•˜์ž,,,โœ‹โœ‹โœ‹โœ‹โœ‹

    (๊ทธ๋Ÿฐ๋ฐ ๋ฐฑ์—… ํŒŒ์ผ ๋ชป ๋งŒ๋“ค์–ด๋„ ๊ฑฑ์ •๋ง์ž. git commit ๋กœ๊ทธ ๋ณด๋ฉด ์ž‘์—… ๋‚ด์šฉ ๋‹ค ์žˆ์œผ๋‹ˆ!)

    git revert "์ทจ์†Œ ์›ํ•˜๋Š” ํ•ด์‹œ๊ฐ’"
    git push
    

    push๋ฅผ ๋จผ์ € ์ทจ์†Œ๋ฅผ ํ•˜๊ณ , ๋จผ์ € ๋ฐฑ์—…ํ•ด๋†“์€ ๋‚ด์šฉ์„ ์˜ฎ๊ธฐ๊ณ 

    git add .
    git commit -m '์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๋‹ค์‹œ ์ ๊ธฐ'
    git push
    

ํ”์ ๋„ ๋‚จ๊ธฐ์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฒ•

git log
git reset --hard [ํ•ด๋‹นcommit]
git push -f origin [ํ•ด๋‹น branch]

ํ•˜์œ„ ๋ธŒ๋žœ์น˜

git checkout -b feature/dev-event-crud

ํ•˜์œ„ ๋ชจ๋“ˆ

public repo ์•ˆ์— private repo ๋‘๋Š” ๋ฒ•~!

public repo์—์„œ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ๊ฐ€์„œ!

git submodule add [repo์ฃผ์†Œ]

๊ทธ๋ฆฌ๊ณ  public repo๋ฅผ ์ƒˆ๋กญ๊ฒŒ clone ๋ฐ›์„ ๋•Œ, ๋‚ด๋ถ€์˜ submodule๊นŒ์ง€ ํ•จ๊ป˜ ๋ฐ›์œผ๋ ค๋ฉด!

git clone --recurse-submodules [repo์ฃผ์†Œ]

๊ทธ๋ฆฌ๊ณ  submodule ์—…๋ฐ์ดํŠธ๋Š”

git submodule update --remote