๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[Git]

๋กœ์ปฌ ํด๋”๋ฅผ ๊ทธ๋Œ€๋กœ ๊นƒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ๋งŒ๋“ค๊ธฐ, gitHub ํด๋” ์—…๋กœ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ(You've added another git repository inside your current repository, ํด๋” ํ™”์‚ดํ‘œ ํ‘œ์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•)

by ํŒกํŽ‘ํ 2023. 6. 3.
728x90
๐Ÿ’ก ์ตœ๊ทผ์— ์—ฌ๋Ÿฌ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด์„œ gitHub ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ํ•œ ๊ณณ์—์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ•˜๋‚˜์˜ ํด๋”์— ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ๋ชจ๋‘ ๋„ฃ๊ณ  ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ์ž˜ ๋˜์ง€ ์•Š์•˜๋‹ค. ์–ด์ฐŒ์–ด์ฐŒ ํ•ด๊ฒฐํ•˜์—ฌ ํด๋”๋ฅผ ์—…๋กœ๋“œํ•ด๋„ ์—ด๋ฆฌ์ง€ ์•Š๊ฑฐ๋‚˜ ํ•˜๋Š” ๋ฌธ์ œ๋„ ์žˆ์—ˆ๋‹ค. ์˜ˆ์ „์— ๋ถ„๋ช…ํžˆ ํด๋” ๋‹จ์œ„๋กœ ์—…๋กœ๋“œํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š”๋ฐ ์ง€๊ธˆ์€ ๋˜์ง€ ์•Š์œผ๋‹ˆ ๋ญ”๊ฐ€ ๊ผฌ์ธ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ๋ณตํ•ฉ์ ์œผ๋กœ ์–ฝํ˜€์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ์†์„ ๋†“๊ณ  ์žˆ๋‹ค๊ฐ€ ์–ด์ œ ํ•ด๊ฒฐํ•˜์—ฌ ๊ทธ ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ์ด ๊ณผ์ •์˜ ๋ชฉํ‘œ๋Š” ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ํ•˜๋‚˜์˜ ํด๋”์— ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ๊ทธ ํด๋” ๊ทธ๋Œ€๋กœ ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ๋งŒ๋“ค์–ด ๊นƒํ—ˆ๋ธŒ์™€ ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

1. ๋กœ์ปฌ ํ™˜๊ฒฝ ํŒŒ์•…ํ•˜๊ธฐ 

  • ๋‚˜๋Š” ๋งฅOS ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰ํ•จ์„ ๋ฐํžŒ๋‹ค.
  • ์—ฌ๊ธฐ studyCode๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค.
  • ์ด ํด๋” ์•ˆ์—๋Š” jpashop์ด๋ผ๋Š” ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค.

 

  • ํ˜„์žฌ studyCode ํด๋”๋Š” ๊นƒํ—ˆ๋ธŒ์™€ ์–ด๋– ํ•œ ์—ฐ๊ฒฐ๋„ ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค. ์ด ํด๋”๋ฅผ ๊ทธ๋Œ€๋กœ ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

 

2. git init

 ์ด ๋ช…๋ น์–ด๋Š” ์ƒˆ๋กœ์šด git ์ €์žฅ์†Œ๋ฅผ ๋กœ์ปฌ์— ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋™์•ˆ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“ค์–ด ๋†“์€ github ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ git clone ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›๊ฑฐ๋‚˜, ๋‚ด๊ฐ€ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ์„ ๋“œ๋ž˜๊ทธ๋กœ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹๋งŒ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•ญ์ƒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ณ  ๊ทธ๊ฑธ ๋‹ค์‹œ ํด๋ก  ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์จ์™”๋Š”๋ฐ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ์€ ํ–ˆ์—ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋กœ์ปฌ ๊ฒฝ๋กœ๋ฅผ ๊ทธ๋Œ€๋กœ ๋กœ์ปฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‚˜? ํ–ˆ๋Š”๋ฐ.. ์—ญ์‹œ ์žˆ์—ˆ๋‹ค.

 

 git init์„ ํ†ตํ•ด ๋น„์–ด์žˆ๋Š” studyCode ๊ฒฝ๋กœ์— git ๋กœ์ปฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๊ณ  studyCode ํด๋” ์•ˆ์— .git ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” git์ด ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”ํƒ€์ •๋ณด๊ฐ€ ์ž ๊ฒจ์žˆ๋‹ค. ์ค‘์š”ํ•œ ์ ์€ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ง€์šฐ๋ฉด ํ•ด๋‹น git ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ ์ด๋ ฅ์ด ์†Œ์‹ค๋˜๋ฉฐ ์ผ๋ฐ˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋Œ์•„์˜จ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

3. .gitignore

  • gitHub Desktop์—์„œ Add Local Repository๋ฅผ ํ†ตํ•ด studyCode๋ฅผ ๋ถˆ๋Ÿฌ์™”๋‹ค. ์—ฌ๊ธฐ์„œ ๋งฅOS์˜ .DS_Store๋ฅผ .gitignore์— ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค.
  • .DS_Store๋Š” ๋งฅ OS์—์„œ๋งŒ ์ƒ๊ธฐ๋Š” ํŒŒ์ผ์ธ๋ฐ ์“ธ๋ฐ์—†๋Š” ํŒŒ์ผ์ด๋ฏ€๋กœ git ๊ด€๋ฆฌ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋งŒ์•ฝ ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ•˜๋Š” ํด๋” ์•ˆ์— gitHub์— ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์ง€ ์•Š์€ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด .gitignore์— ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ํ†ตํ•ด git์ด ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

  • .gitignore์— ์ถ”๊ฐ€ํ–ˆ๋‹ค.
  • gitHub Desktop์ด ์—†๋‹ค๋ฉด ์ง์ ‘ .gitignore ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ๋ฐฉ๋ฒ•์€ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์ฐพ์•„๋ณด์ž.

 

 

4. gitHub์— ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ

  • ์ž ์ด ๋ถ€๋ถ„์ด ์ฒซ ๋ฒˆ์งธ ์—๋Ÿฌ์ด๋‹ค.
  • ํ„ฐ๋ฏธ๋„์—์„œ git status๋กœ ํ™•์ธํ•ด๋ณด๋‹ˆ .gitignore์™€ jpashop ํด๋”๊ฐ€ tracking ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ์ด๋ผ๊ณ  ๋‚˜์™€ git add . ๋ช…๋ น์–ด๋กœ tracking ๋˜๊ฒŒ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ์œ„ ์—๋Ÿฌ๊ฐ€ ๋‚˜์™”๋‹ค. ๊ฐ€์žฅ ์œ—์ค„์„ ์ฝ์–ด๋ณด๋ฉด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋‚˜์˜จ๋‹ค.
  • You've added another git repository inside your current repository.
  • ํ•ด์„ํ•˜๋ฉด ๋„ˆ์˜ ํ˜„์žฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ๋‚ด๋ถ€์— ๋‹ค๋ฅธ ๊นƒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ๋‹ค.
  • ๊ทธ๋ ‡๋‹ค. jpashop์€ ์ด๋ฏธ ๊ณผ๊ฑฐ์— ๋ณ„๋„์˜ ํ”„๋กœ์ ํŠธ๋กœ gitHub์— ์—…๋กœ๋“œํ–ˆ์—ˆ๋‹ค. ๊ทธ๋•Œ jpashop ๋‚ด๋ถ€์— .git์ด ์ƒ๊ฒผ์„ ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ๋ฌธ์— ์œ„์˜ ์—๋Ÿฌ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜จ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

 

 

5. ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ ํ•ด๊ฒฐ

  • jpashop ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€ ls -a ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ด ๋ณด๋‹ˆ ์—ญ์‹œ๋‚˜ .git์ด ์žˆ์—ˆ๋‹ค. ์ด์ œ ์ด๊ฑธ ์ง€์›Œ์ฃผ๋„๋ก ํ•˜์ž.

 

rm -rf .git

  • ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒ์œ„ํด๋”(studyCode)๋กœ ๋Œ์•„๊ฐ€ git add . ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ ์•„๊นŒ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ž˜ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

 

git add .
git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ"
git push origin main
  • git ๋กœ์ปฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ •์ƒ์ ์œผ๋กœ push ๋˜์—ˆ๋‹ค.

 

 

6. gitHub ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ

  • gitHub Desktop์„ ํ†ตํ•ด gitHub ์›๊ฒฉ์ €์žฅ์†Œ์— ๋กœ์ปฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.
  • gitHub Desktop์ด ์—†๋‹ค๋ฉด ๋”ฐ๋กœ gitHub ํŽ˜์ด์ง€์—์„œ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

 

  • ์ •์ƒ์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ๋‹ค.

 

 

7. ๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ

  • ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋“ค์–ด๊ฐ€ ๋ณด๋‹ˆ jpashop ํด๋”๊ฐ€ ํ™”์‚ดํ‘œ ํ‘œ์‹œ๊ฐ€ ๋œจ๋ฉด์„œ ์—ด๋ฆฌ์ง€ ์•Š์•˜๋‹ค.
  • ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ์—ด๋ฆฌ์ง€ ์•Š๋Š” ์ด์œ ๋Š” jpashop ํด๋” ์•ˆ์— .git ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ๋ถ„๋ช… ์•„๊นŒ ์ „์— .git ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•ด ์คฌ๋‹ค.
  • ์ข€ ๋” ์ฐพ์•„๋ณด๋‹ˆ ์Šคํ…Œ์ด์ง€ ํŒŒ์ผ๊นŒ์ง€ ์ œ๊ฑฐํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค.

 

git rm -rf --cached
  • ๋‹ค์‹œ ๋ฌธ์ œ์˜ ํด๋”์— ๋“ค์–ด๊ฐ€ ์œ„ ๋ช…๋ น์–ด๋กœ ์Šคํ…Œ์ด์ง€์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ์ œ๊ฑฐํ•œ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ push๋ฅผ ํ•ด์ค€๋‹ค.

 

  • ์ •ํ™•ํžˆ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ jpashop ํด๋” ๋‚ด์˜ submodule์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค๋Š” ๊ฑธ ๋ณด๋‹ˆ .git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํด๋”(studyCode) ์•ˆ์— ๋˜ ๋‹ค๋ฅธ .git ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ํด๋”(jpashop)๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ submodule์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  jpashop ํด๋” ๋‚ด ํŒŒ์ผ๋“ค์ด ์ „๋ถ€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๊ฒƒ ๊ฐ™๋‹ค
  • .git ๊ด€๋ จ ๊ธฐ๋ก์ด ์บ์‹œ๊นŒ์ง€ ์™„์ „ํžˆ ์ง€์›Œ์•ผ ํ•˜๋‚˜๋ณด๋‹ค.

 

 

์ •๋ฆฌ

  1. ๊ธฐ์กด์˜ .git ๋ฐ ๊ด€๋ จ ์บ์‹œ ์‚ญ์ œ(jpashop ๋‚ด ์Šคํ…Œ์ด์ง€ ์บ์‹œ ์‚ญ์ œ)๋ฅผ ํ•ด์•ผ ํ•˜๋ฉฐ ์ด ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ jpashop submodule์ด ์™„์ „ํžˆ ์‚ญ์ œ๋œ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.
  2. ์ดํ›„์— ํด๋” ๋‚ด ํŒŒ์ผ์„ ์ „๋ถ€ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.(์™„์ „ํžˆ ๋ฆฌ์…‹ํ•ด์•ผ ํ•˜๋Š” ๋“ฏ)

 

git add .
git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ"
git push origin main
  • ๋‹ค์‹œ tracking ์‹œํ‚ค๊ณ  ์ปค๋ฐ‹ํ•˜๊ณ  push ํ•œ๋‹ค.

 

  • ํ™”์‚ดํ‘œ๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.

 

  • ๋‹ค๋ฅธ ํด๋”๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ git ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ๊ด€๋ฆฌํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ์œ„์˜ ๋ฐฉ์‹๋Œ€๋กœ .git๊ณผ ๊ด€๋ จ ์บ์‹œ ๊ธฐ๋ก์„ ์ „๋ถ€ ์ง€์šฐ๊ณ  ์˜ฌ๋ฆฌ๋ฉด ๋ฌธ์ œ์—†์ด ์—…๋กœ๋“œ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

์ฐธ๊ณ 

https://zzang9ha.tistory.com/346

https://www.daleseo.com/git-init/

https://heytech.tistory.com/400

728x90