πŸ” Git μ„œλΈŒλͺ¨λ“ˆ(Submodule)μ΄λž€?

μ„œλΈŒλͺ¨λ“ˆμ€ Git μ €μž₯μ†Œ(Repo) μ•ˆμ— 또 λ‹€λ₯Έ Git μ €μž₯μ†Œλ₯Ό ν•˜μœ„ λ””λ ‰ν† λ¦¬λ‘œ 포함할 수 있게 ν•΄μ£ΌλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

즉, ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈ μ•ˆμ— λ‹€λ₯Έ Git ν”„λ‘œμ νŠΈλ₯Ό μ—°κ²°ν•΄μ„œ 관리할 수 있게 ν•΄μ£ΌλŠ” κΈ°λŠ₯μ΄μ—μš”.


🧠 μ™œ μ„œλΈŒλͺ¨λ“ˆμ„ μ‚¬μš©ν• κΉŒ?


πŸ—‚ ꡬ쑰 μ˜ˆμ‹œ

my-project/
β”œβ”€β”€ .git/
β”œβ”€β”€ .gitmodules
β”œβ”€β”€ main-code/
└── shared-lib/   ← λ‹€λ₯Έ Git μ €μž₯μ†Œκ°€ μ—°κ²°λœ μ„œλΈŒλͺ¨λ“ˆ

βš™οΈ .gitmodules νŒŒμΌμ΄λž€?

μ„œλΈŒλͺ¨λ“ˆ 정보λ₯Ό λ‹΄κ³  μžˆλŠ” μ„€μ • νŒŒμΌμž…λ‹ˆλ‹€. 예:

[submodule "shared-lib"]
  path = shared-lib
  url = <https://github.com/example/shared-lib.git>

πŸ›  μ£Όμš” λͺ…λ Ήμ–΄

πŸ“Œ μ„œλΈŒλͺ¨λ“ˆ μ΄ˆκΈ°ν™” 및 μ—…λ°μ΄νŠΈ

git submodule update --init --recursive