๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
GIT + GITHUB

Github์™€ ํด๋” ์—ฐ๋™ํ•˜๊ธฐ

by olbiizl_ 2021. 9. 30.

 Git(๊นƒ)์ด๋ž€? 

 

๐Ÿ“ฃ ๋ถ„์‚ฐ ์†Œ์Šค ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
๐Ÿ“ฃ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ

 

 GitHub(๊นƒํ—ˆ๋ธŒ)๋ž€? 

 

๐Ÿ“ฃ Git(๊นƒ)์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค
๐Ÿ“ฃ Git(๊นƒ)์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์–ด ๊ณต๋™ ์ž‘์—…์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”Œ๋žซํผ

 


 

๊ธฐ์ˆ ์ž๋“ค์—๊ฒ ํ•„์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” " ๊นƒํ—ˆ๋ธŒ" ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด์„œ๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์•Œ๊ณ  ์žˆ์ง€๋งŒ
๋ง‰์ƒ ์ง์ ‘ ๊นƒํ—ˆ๋ธŒ๋ฅผ ๋งŒ๋“ค๊ธฐ์—๋Š” ์–ด๋ ค์›€์„ ๋งŽ์ด ๊ฒช๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์ œ๊ฐ€ ๊ฐ„๋‹จ๋ช…๋ฃŒํ•˜๊ฒŒ ์•„์ฃผ ์‰ฝ๊ฒŒ ์„ค๋ช…์„ ํ•ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•ด์š”.

์ผ๋‹จ ๊นƒํ—ˆ๋ธŒ๋Š” ์ œ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํด๋”์™€ ๊นƒํ—ˆ๋ธŒ ํŽ˜์ด์ง€์— ๋งŒ๋“  repository๋ฅผ ์—ฐ๊ฒฐํ•ด์ค„ ์ˆ˜
์žˆ์–ด ๊ต‰์žฅํžˆ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๊ทธ๋ ‡๋‹ค๋ฉด "ํด๋”์™€ repository๋ฅผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ์‹œํ‚ค๋‚˜์š”?" ๋ผ๋Š” ์งˆ๋ฌธ์— ๋‹ต๋ณ€์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊นƒํ—ˆ๋ธŒ์— ํšŒ์›๊ฐ€์ž…์„ ํ–ˆ๋‹ค๋Š” ์ „์ œ ํ•˜์— ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ์™€ ๋ณด์„ธ์š”

 

START!!



๐Ÿ”Ž์ด ํŽ˜์ด์ง€๋Š” ์ž์‹ ์˜ ํ”„๋กœํ•„์ด ๋‚˜์™€์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.
์œ„์˜ ๋นจ๊ฐ„์ƒ‰ ๋™๊ทธ๋ผ๋ฏธ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„, Repositories๋ฅผ ํด๋ฆญํ•ด๋ณผ๊ฒŒ์š”.

 



๐Ÿ”ŽRepositories๋ž€ ๋ง ๊ทธ๋Œ€๋กœ "์ €์žฅ์†Œ"๋ผ๋Š” ๋œป์œผ๋กœ ํŒŒ์ผ๋“ค์„ ์˜ฌ๋ ค๋†“๋Š” ํด๋”๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ฌ ๋ฉ๋‹ˆ๋‹ค.
์ƒˆ๋กœ์šด ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด ์ € ์˜ค๋ฅธ์ชฝ ์ดˆ๋ก์ƒ‰ NEW ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด๋ณผ๊ฒŒ์š”.

 


 


๐Ÿ”Ž Repository name์—์„œ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์ค€ ๋’ค, ์ดˆ๋ก์ƒ‰ ๋ฒ„ํŠผ Create repository
๋ฅผ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค. ์ด๋•Œ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์€ ์˜์–ด์™€ '_'๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ต๋‹ˆ๋‹ค.

 


 


๐Ÿ”Ž์ €๋Š” Practice๋ผ๋Š” ์ด๋ฆ„์˜ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์—ˆ์–ด์š”. ์ด์ œ ๊นƒํ—ˆ๋ธŒ ๋‚ด์—์„œ์˜ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ ์ด ์ €์žฅ์†Œ์— ์˜ฌ๋ฆด ํด๋”๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋งŒ๋“  ํด๋”์™€ ์œˆ๋„์šฐ ๊ฒ€์ƒ‰์ฐฝ์—์„œ cmd๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹  ํ›„ ๋œจ๋Š” ์ฐฝ์„ ํ•จ๊ป˜ ๋„์›Œ๋ณผ๊ฒŒ์š”.

 


 


๐Ÿ”Ž์™ผ์ชฝ์˜ ํด๋”๋Š” ๋ฐ”ํƒ•ํ™”๋ฉด์— ์œ„์น˜ํ•ด์žˆ๋Š” ํด๋”์ด๋ฉฐ, ์˜ค๋ฅธ์ชฝ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์„ cmd ์ฐฝ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
์ด์ œ๋ถ€ํ„ฐ cmd ์ฐฝ์—์„œ ๊นƒํ—ˆ๋ธŒ์˜ repository์™€ ์ปดํ“จํ„ฐ์˜ directory(ํด๋”)๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.

 


 


๐Ÿ”Ž์ผ๋‹จ cmd์— git config ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ git ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.
user.name ํ›„์—๋Š” ์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ ์ด๋ฆ„์„, user.email ํ›„์—๋Š” ๊นƒํ—ˆ๋ธŒ ๊ฐ€์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ
์ ์–ด์ฃผ๋ฉด ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ์ตœ์ดˆ 1ํšŒ๋งŒ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ๋งŒ ์„ฑ๊ณตํ•˜๋ฉด ๋‹ค์Œ๋ถ€ํ„ด ์ด ๊ณผ์ •์„ ์ƒ๋žตํ•ด๋„ ๋ผ์š”.

 


 


๐Ÿ”Ž์ง€๊ธˆ๋ถ€ํ„ฐ cmd์—์„œ์˜ ์œ„์น˜๋ฅผ ํ˜„ ์œ„์น˜๋กœ ๋ณ€๊ฒฝํ•ด๋ณผ๊ฒŒ์š”.
cd ๋ฅผ ์ž…๋ ฅํ•œ ํ›„, ์ž์‹ ์ด ๋งŒ๋“  ํด๋”์˜ ์œ„์น˜๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด ํ˜„์žฌ ํ”„๋กฌํ”„ํŠธ์—์„œ์˜ ์œ„์น˜๊ฐ€ ํด๋”์˜ ์œ„์น˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 


 


๐Ÿ”Ž์ด๋ฒˆ์—” ํ˜•๊ด‘์ƒ‰ ์•ˆ์˜ ์ฝ”๋“œ๋“ค์„ ๋ณต๋ถ™ ํ•ด์„œ cmd์ฐฝ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. ๋ณต๋ถ™ ํ•˜๋Š” ์ˆœ๊ฐ„ ์•Œ์•„์„œ ์‹คํ–‰์ด ๋ผ์š”

 


 


๐Ÿ”Žcmd์—์„œ์˜ ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰์ด ๋˜๋ฉด ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด README.md ํŒŒ์ผ์ด ์ถ”๊ฐ€๊ฐ€ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

๐Ÿ”Ž์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด,

โ—ผ echo "# Practice" >> README.md โ–ถ README.md์— '# Practice" ๋ฅผ ์ ์–ด์ค€๋‹ค.
โ—ผ git init โ–ถ ๊นƒํ—ˆ๋ธŒ์™€ ์—ฐ๋™์‹œํ‚ฌ ๊นƒ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
โ—ผ git add README.md โ–ถ README.md ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
โ—ผ git commit -m "first commit" โ–ถ README.md ํŒŒ์ผ์— "first commit" ์ปค๋ฐ‹์„ ๋‹ฌ์•„์ค€๋‹ค.
โ—ผ git branch -M master โ–ถ ํ˜„์žฌ branch ์œ„์น˜๋ฅผ master๋กœ ์ •ํ•ด์ค€๋‹ค.
โ—ผ git remote add origin [๊นƒํ—ˆ๋ธŒ url] โ–ถ ํด๋”์™€ ๊นƒํ—ˆ๋ธŒ url์„ ์—ฐ๋™ํ•ด์ค€๋‹ค.
โ—ผ git push -u origin master โ–ถ ํด๋”์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ master ๋ธŒ๋žœ์น˜๋กœ ์˜ฌ๋ ค์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํด๋”์™€ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ๋ฅผ ์—ฐ๋™ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.
์•„์ฃผ ์‰ฝ์ง€ ์•Š๋‚˜์š”????

์—ฐ๋™์„ ํ•ด์ฃผ์—ˆ๋‹ค๋ฉด ์•ž์œผ๋กœ๋Š” ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํด๋”์— ์ž‘์—…ํ•œ ํŒŒ์ผ์„
๊นƒํ—ˆ๋ธŒ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์˜ฌ๋ ค์ฃผ๋Š” ์ฝ”๋“œ ๋„ค ๊ฐ€์ง€๋กœ ์ž‘์—…์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

โ—ผ cd [ํด๋” ์œ„์น˜] โ–ถ ํ˜„ ์œ„์น˜๋ฅผ ์›ํ•˜๋Š” ํด๋”๋กœ ์ด๋™ํ•ด์ค€๋‹ค.
โ—ผ git pull origin master โ–ถ master ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ํด๋”๋กœ ๋Œ์–ด์˜จ๋‹ค.
โ—ผ git add . โ–ถ ์•ž์œผ๋กœ์˜ ๊ณผ์ •์„ ์ €์žฅํ•œ๋‹ค.
โ—ผ git commit -m "์›ํ•˜๋Š” ์ปค๋ฐ‹" โ–ถ ์˜ฌ๋ฆด ํŒŒ์ผ์— ์ปค๋ฐ‹์„ ๋‹ฌ์•„์ค€๋‹ค.
โ—ผ git push origin master โ–ถ master ๋ธŒ๋žœ์น˜์— ํŒŒ์ผ์„ ์˜ฌ๋ ค์ค€๋‹ค.

 

์ด๋•Œ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ธŒ๋žœ์น˜๋Š” main์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์„ ๊ฑฐ์˜ˆ์š”.

์ฝ”๋“œ ์† master์„ main์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์„ธ์š”๐Ÿ’™

 



์œ„์˜ ๋‹ค์„ฏ ๊ฐœ์˜ ์ฝ”๋“œ๋งŒ ์ง„ํ–‰ํ•ด์ฃผ๋ฉด ?!?!?


์ด๋ ‡๊ฒŒ ์ปค๋ฐ‹๊ณผ ํ•จ๊ป˜ ํŒŒ์ผ์ด ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”!

์•ž์œผ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊นƒํ—ˆ๋ธŒ์— ํŒŒ์ผ์„ ์˜ฌ๋ ค ์ž”๋””๋ฅผ ๋งˆ๊ตฌ๋งˆ๊ตฌ ์‹ฌ์–ด ๋ณด์„ธ์š”๐ŸŒฑ

 

์ฐธ๊ณ ๋กœ ์ œ ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ๋Š” ๐Ÿ’‍โ™€๏ธ https://github.com/HYERINI

๋ฐ˜์‘ํ˜•