๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

DXWave/์ฐธ์กฐ

GitHub ์—ฐ๋™

https://velog.io/@singery00/UE5-Unreal-%ED%8C%80-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Git-Github-%EC%97%B0%EB%8F%99

 

[UE5] ๐Ÿค Unreal ํŒ€ ํ”„๋กœ์ ํŠธ Git, Github ์—ฐ๋™

๐Ÿค Unreal Engine๊ณผ Git, Github๋ฅผ ์—ฐ๋™ํ•ด์„œ ํŒ€ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์ž

velog.io

๊ฐœ์š”

๐Ÿ’ก Unreal Engine๊ณผ Git, Github๋ฅผ ์—ฐ๋™ํ•ด์„œ ํŒ€ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์ž

์ด๋ฒˆ์— ์ƒˆ๋กœ์šด ํŒ€์›๋“ค๊ณผ ๋ฑ€์„œ๋ผ์ดํฌ ์žฅ๋ฅด๋กœ ๋ชจ์ž‘์„ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์—…์„ ์œ„ํ•ด Unreal Engine์— Git๊ณผ Github๋ฅผ ์—ฐ๋™ํ•ด์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ์˜์ƒ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Unreal Engine๊ณผ Git, Github ์—ฐ๋™ ๊ฐ€์ด๋“œ ์˜์ƒ

๋˜ํ•œ .gitignore ๋ถ€๋ถ„์„ ๊ผญ ํ™•์‹คํžˆ ์ฝ์–ด ์ฃผ์„ธ์š”!!
๊ณผ๊ธˆ ์š”์†Œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ Github ์‚ฌ์šฉ์— ์ œํ•œ์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 


๋ณธ๋ก 

Git ์„ค์น˜

์šฐ์„  Git์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Git ์„ค์น˜ ๋งํฌ
์œ„ ๋งํฌ๋กœ ์ด๋™ํ•˜์—ฌ Git์„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.

์•„๋ž˜์˜ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํด๋ฆญํ•˜์‹œ๊ณ ,

๊ฐ Pc์˜ ๋ฒ„์ „์— ๋งž๊ฒŒ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.
์ €๋Š” Windows11 64bit๋ผ์„œ ์•„๋ž˜์˜ ๋ฒ„์ „์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ํ›„ ์—ฌ๋Ÿฌ ์„ค์ •์ฐฝ์ด ๋œจ๋Š”๋ฐ ๋ชจ๋‘ Next๋กœ ๋„˜์–ด๊ฐ€์‹  ํ›„ ์„ค์น˜ ์™„๋ฃŒํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  Window๊ฒ€์ƒ‰์—์„œ Git bash๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์„ค์น˜ ํ™•์ธํ•ด์ฃผ์„ธ์š”

๊ทธ๋ฆฌ๊ณ  Git bash๋ฅผ ์ผœ์ฃผ์‹œ๊ณ , "git lfs install" ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊บผ์ฃผ์„ธ์š”.


Github Desktop์„ค์น˜

์•„๋ž˜์˜ ๋งํฌ๋กœ ์ด๋™ํ•˜์…”์„œ Github Desktop ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.

Github Desktop ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜

์„ค์น˜ํ•˜์‹œ๋ฉด ์•„๋ž˜ ์ฐฝ์ด ๋œจ๋Š”๋ฐ

๋ณธ์ธ Github ๊ณ„์ •์œผ๋กœ ์—ฐ๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ ์„ค์ •

์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋ฅผ ์ผœ์ฃผ์„ธ์š”.

Git ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

Edit - Plugins์— ๋“ค์–ด ๊ฐ€์‹œ๊ณ 

Git์„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  Restart๊ฐ€ ๋œจ์‹œ๋ฉด ์žฌ์‹œ์ž‘ ํ•ด์ฃผ์„ธ์š”.

ํ”„๋กœ์ ํŠธ๋ฅผ Git๊ณผ Github๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
Git ๊ด€๋ฆฌ์ž ์—ญํ• ์„ ๋งก์œผ์‹  ๋ถ„๋งŒ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํŒ€์›์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์‹ค ๋ถ„๋“ค์€ ์•„๋ž˜์˜ ํ”„๋กœ์ ํŠธ ํŒ€ ๋ฉค๋ฒ„ ์ ‘๊ทผ ๋ฐฉ๋ฒ•๋ถ€๋ถ„๋ถ€ํ„ฐ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

Revision Control Login

์—๋””ํ„ฐ ์šฐ์ธก ํ•˜๋‹จ์— Git ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ˆ„๋ฅด์‹œ๋ฉด ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ Connect to Revision Control...์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Provider๋ฅผ Git์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์„ธ์š”.
๊ทธ๋ฆฌ๊ณ  ํ•˜๋‹จ์˜ [Add a .gitattributes file to enable Git LFS]๋ฅผ ์ฒดํฌํ•ด์ฃผ์„ธ์š”.

Accept Settingsํ•ด์ฃผ์„ธ์š”.

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

์ €๋Š” ์ด๋ฏธ ์—ฐ๋™๋œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์–ด์„œ ์ฐฝ ๋ชจ์–‘์ด ์กฐ๊ธˆ ๋‹ค๋ฅผ ์ˆœ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Add exisiting repository๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ์—ฐ๋™ํ•  ๋ณธ์ธ์˜ ์–ธ๋ฆฌ์–ผ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์„œ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

์ €๋Š” OMRP๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€๊นŒ์ง€ ๊ฒฝ๋กœ๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค!

๊ทธ๋Ÿผ ์„ค์ •ํ•˜๊ณ  Add Repository๋ฅผ ํ•ด์ฃผ์‹œ๋ฉด ์•„๋ž˜์˜ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.
๋นจ๊ฐ„ ๋ฐ•์Šค ์•ˆ์— ์—ฌ๋Ÿฌ๋ถ„์ด ์„ค์ •ํ•˜์‹  ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ๋กœ๊ฐ€ ๋œน๋‹ˆ๋‹ค.
ํ™•์ธํ•ด์ฃผ์‹œ๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Git Bash ๋ช…๋ น์–ด ์ž…๋ ฅ

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ Git Bash๋ฅผ ์—ด์–ด์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋“ค์„ ๋ชจ๋‘ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

  1. git lfs install
  2. cd "ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ"
  3. git lfs track ".uasset"
  4. git lfs track ".umap"

ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋Š” ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ์—์„œ ๊ฒฝ๋กœ ์ด๋™ํ•˜์‹œ๊ณ  ๋ณต์‚ฌํ•ด์„œ ๋„ฃ์–ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


Submit Content

๋‹ค์‹œ Unreal ์—๋””ํ„ฐ๋กœ ์ด๋™ํ•˜์‹œ๊ณ  Submit Content ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

์•„๋ž˜ ์ฐฝ์ด ๋œจ๋ฉด Description ์ž‘์„ฑํ•ด์ฃผ์‹œ๊ณ , Submit ํ•ด์ฃผ์„ธ์š”.


์˜ค๋ฅ˜์‹œ ํ•ด๊ฒฐ

๋งŒ์•ฝ ์œ„ ๊ณผ์ • ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๋ฉด ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ์™€ Git์„ ๋ชจ๋‘ ์ข…๋ฃŒํ•ด์ฃผ์„ธ์š”.
๊ทธ๋ฆฌ๊ณ  ์ž‘์—…๊ด€๋ฆฌ์ž๋ฅผ ์ผœ์„œ git for windows๊ฐ€ ๋‚จ์•„ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋กœ ์ด๋™ํ•˜์…”์„œ .git ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
.git์ด ์—†๋‹ค๋ฉด ์ˆจ๊ธด ํ•ญ๋ชฉ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ์•ˆ์˜ indexํŒŒ์ผ์„ ์‚ญ์ œํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ .exeํŒŒ์ผ๋กœ ๋ฐ”๋กœ ์—๋””ํ„ฐ๋ฅผ ์ผœ์„œ Submit Content๋กœ ์ด๋™ํ•ด์„œ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”.


History ํ™•์ธ

์œ„ ๊ณผ์ •๋“ค์ด ์™„๋ฃŒ ๋˜์—ˆ๋‹ค๋ฉด ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ History์— ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


.gitignore

โ—์—ฌ๊ธฐ ๋‚ด์šฉ์€ ๋งค์šฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹คโ—
โ—์—ฌ๊ธฐ ๋‚ด์šฉ์€ ๋งค์šฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹คโ—

์–ธ๋ฆฌ์–ผ ์—”์ง„ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์€ Github์— ๋ฐ”๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ LFS๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋”ฐ๋กœ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ Github๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Git LFS Data์˜ ์šฉ๋Ÿ‰๊ณผ, ๋Œ€์—ญํญ์ด 1GB๋กœ ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์ฒ˜๋Ÿผ ๊ฒฐ์ œ๋ฅผ ํ•˜์‹ค๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด ๋ชจ๋“  ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ฉด ์•ˆ๋˜๊ฒ ์ฃ ?

์ด์— ๋Œ€ํ•ด์„œ "์ธ์ƒ ์–ธ๋ฆฌ์–ผ ๊ต๊ณผ์„œ"์˜ ์ €์ž์ด์‹  ์ด์˜ํ˜ธ ๊ฐ•์‚ฌ๋‹˜๊ป˜ ์ž๋ฌธ์„ ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ํŒ€ํ”„๋กœ์ ํŠธ๋Š” ๊ณผ๊ธˆ์ด ํ•„์š”ํ•  ์ •๋„๋กœ ์šฉ๋Ÿ‰์ด ํฌ์ง€ ์•Š๋‹ค.
๋ณดํ†ต ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ํ™•์ธํ•˜์ง€ ์•Š์•„ ์šฉ๋Ÿ‰์„ ๋งŽ์ด ์žก์•„ ๋จน๋Š”๋‹ค.
๊ทธ๋ž˜์„œ 100MB๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ์—์…‹, ์ด๋ฏธ์ง€๋“ค์€ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ ,
ํŒ€์›๋“ค๊ณผ ํ˜‘์˜ํ•˜์—ฌ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ๋”ฐ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๊ทธ๋ž˜์„œ ์ง์ ‘ ํŒŒ์ผ๋“ค์„ ํ™•์ธํ•˜์—ฌ, 100MB๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ํด๋”๋Š” .gitignore์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
๋˜ํ•œ, ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ generate๋ฅผ ํ†ตํ•ด ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ํด๋”๋Š” ์ œ์™ธํ•ด์ฃผ์„ธ์š”.

์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋‘ ์—…๋กœ๋“œํ•ด์„œ ๊ฒฐ์ œ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค๊ฑฐ๋‚˜,
๊ฒฐ์ œ๋ฅผ ์•ˆํ•ด์„œ ์ด์šฉ์ œํ•œ์ด ๊ฑธ๋ฆฌ๋Š” ์ผ์ด ์—†๊ฒŒ ํ•ฉ์‹œ๋‹ค.

Publish Repository

Github ๋ฐํฌ์Šคํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ๋‹จ์— Public repository๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์˜ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ๋ช…, Description ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์•„๋ž˜ ์ฒดํฌ ์˜ต์…˜์€ repository๋ฅผ public์œผ๋กœ ํ• ์ง€ private๋กœ ํ• ์ง€์— ๋Œ€ํ•œ ์„ค์ •์ž…๋‹ˆ๋‹ค.
์ €๋Š” private๋กœ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฒดํฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ์‹  ํ›„ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ–ˆ๋‹ค๋ฉด ์œ„์˜ publish repository๊ฐ€ fetch origin์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ Github ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Github ํ™ˆํŽ˜์ด์ง€ ํ™•์ธ

์—ฌ๋Ÿฌ๋ถ„์˜ Github์— ๋“ค์–ด๊ฐ€์‹œ๋ฉด ์–ธ๋ฆฌ์–ผ ํ”„๋กœ์ ํŠธ๊ฐ€ Repository์— ์—ฐ๋™๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ”„๋กœ์ ํŠธ ํŒ€ ๋ฉค๋ฒ„ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

Github ํŒ€์› ์ดˆ๋Œ€

Settings - Collaborators - Add people์„ ๋ˆŒ๋Ÿฌ ํŒ€์›์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์ดˆ๋Œ€ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ๋Š” Github ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Cloneํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Github ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ผœ์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  Add๋ฅผ ๋ˆŒ๋Ÿฌ Clone Repository๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

ํด๋ก ํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•œ ํ›„, ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Clone์„ ๋ˆ„๋ฅด๊ณ  ๊ธฐ๋‹ค๋ ค ์ฃผ์„ธ์š”.

์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์ด๋™ํ•ด ํ”„๋กœ์ ํŠธ.exe๋ฅผ ์šฐํด๋ฆญํ•˜๊ณ  Generate Visual Studio project files๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด ์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด, ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.


Check Out & Submit

Git์—์„œ Check Out์ด๋ผ๋Š” ํ–‰์œ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ”๋“œ ์ €์žฅ์†Œ(repository)์—์„œ ํŠน์ • ๋ธŒ๋žœ์น˜(branch)๋กœ ์ „ํ™˜ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.
์ด ์ž‘์—…์„ ์œ„ํ•ด ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ ค๋‘” ์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ ์ปดํ“จํ„ฐ๋กœ ๋‚ด๋ ค๋ฐ›๋Š” ์ž‘์—…์ด ๋ฐ˜๋“œ์‹œ ์„ ํ–‰์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜ ๋„ฃ๊ฒ ์Šต๋‹ˆ๋‹ค.
์ด๋ฏธ์ง€ ์ถ”๊ฐ€๋ผ๋Š” ์ˆ˜์ •์‚ฌํ•ญ์ด ์ƒ๊ธด๊ฒ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์œผ๋ฉด "?"๋กœ ํ‘œ์‹œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์šฐ์ธกํ•˜๋‹จ Git์—์„œ Check Out Modified Files๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด๋ฏธ์ง€์˜ "?"๊ฐ€ "+"๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ์—” Git์—์„œ Submit Content๋ฅผ ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š”.

Submit์ด ์™„๋ฃŒ๋˜๋ฉด ์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋งˆํฌ์—†์ด ๋‚จ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Push

Push๋Š” ์ˆ˜์ •ํ•œ Local์˜ ์ž‘์—… ๋‚ด์šฉ์„ ์šฐ๋ฆฌ์˜ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

Submit์„ ๋๋ƒˆ์œผ๋‹ˆ Github ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ History์— ์šฐ๋ฆฌ๊ฐ€ Submitํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•œ Description๊ณผ ํ•จ๊ป˜ Commit๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Commit์€ ์ˆ˜์ • ์‚ฌํ•ญ๋“ค์„ ์ถ”์ถœํ•ด์„œ ์ €์žฅ์†Œ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
์ˆ˜์ •๋œ ๋‚ด์šฉ๋งŒ ๊ด€๋ฆฌํ•˜๊ณ  ์ฝ”๋“œ๊ฐ€ ๋ณ€ํ™”๋œ ์‹œ๊ฐ„ ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒ๋‹จ์˜ Push origin์„ ๋ˆŒ๋Ÿฌ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์ž ์‹œ ๋กœ๋”ฉ ๋’ค์— Fetch๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

Github๋กœ ๊ฐ€์„œ ํ™•์ธํ•ด๋ณด๋ฉด IU_Test_Image๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Fetch & Pull

Fetch์™€ Pull์€ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ, ๋‚ด Local์˜ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋งค์šฐ ํฐ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Fetch๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ปค๋ฐ‹๋“ค์„ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜ค๋˜, ์ž๋™์œผ๋กœ ๋ณ‘ํ•ฉ(Merge)๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Pull์ด๋ž€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ์ž๋™์œผ๋กœ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(Merge)๊นŒ์ง€ ํ•ด์ค๋‹ˆ๋‹ค.

์œ„์—์„œ IU_Test_Image๋ผ๋Š” ํŒŒ์ผ์ด ์ถ”๊ฐ€๋กœ ์ƒ๊ฒผ์„ ๋•Œ ๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ํŒ€์›๋“ค์€ IU_Test_Image๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด๋•Œ, Fetch์™€ Pull์„ ํ†ตํ•ด์„œ ์ˆ˜์ •์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ .

์ƒ๋‹จ ํˆด๋ฐ”์—์„œ Repositry๋ฅผ ์„ ํƒํ•ด์„œ Fetch์™€ Pull๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

C++ ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ ์‹œ

C++ ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ ์‹œ Pull์„ ํ•˜๊ณ  ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ผœ๋„ ์ ์šฉ์ด ๋˜์ง€ ์•Š์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿด๋• ํ”„๋กœ์ ํŠธ์˜ Visual Stdudio Project files๋ฅผ Regenerateํ•ด์ฃผ์‹œ๊ณ ,

์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜์‹œ๋Š”๊ฒŒ ์•„๋‹Œ Visual Studio๋ฅผ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  VS์ƒ์—์„œ ์‹คํ–‰์„ ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š”.

์–ธ๋ฆฌ์–ผ๊ณผ ์—ฐ๋™์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค๋ฉด ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๊ฐ€ ์‹คํ–‰๋˜๊ณ  C++ Class๊ฐ€ ๋ฐ˜์˜๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์ด๊ฒƒ์œผ๋กœ ํŒ€ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ์—ฐ๋™์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Git์„ ์‚ฌ์šฉํ•ด๋ณด์‹œ์ง€ ์•Š์•˜๋‹ค๋ฉด ์œ„์˜ ๋‚ด์šฉ๋“ค์ด ์•„์ง ์–ด๋ ค์šฐ์‹ค ๊ฒ๋‹ˆ๋‹ค.

ํ˜‘์—…์„ ์œ„ํ•œ Branch๋ฅผ ๋”ฐ๋กœ ์ƒ์„ฑํ•ด์„œ ์ž‘์—…ํ•˜๋ฉด ๋˜๊ฒ ์ฃ ?

์ด์™€ ๋”๋ถˆ์–ด Check In, Check Out, Submit, Commit, Push, Pull, Fetch, Brach, Merge๋“ฑ์˜ ์šฉ์–ด๋“ค์€ ๋‹ค์Œ์— ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.