๐ŸคผGit

TIL) git ๊ณผ github ์ฐจ์ด, ๊นƒํ—™์—์„œ commit์ด๋ž€?

hellohailie 2022. 5. 10. 01:36

์ฆ‰ Git์œผ๋กœ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ํด๋”์— ๋Œ€ํ•ด์„œ Github์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ . ํ•œ ๋งˆ๋””๋กœ ๊ฐœ๋ฐœ์ž๋“ค์˜ SNS์ž…๋‹ˆ๋‹ค. Github์—์„œ Code Review ๋“ฑ์„ ํ†ตํ•ด ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์ˆ˜๋งŽ์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค์ด GitHub๋กœ๋ถ€ํ„ฐ ํ˜ธ์ŠคํŒ…๋˜๊ณ  ์žˆ์–ด์„œ, ๋ˆ„๊ตฌ๋“  ์ž์œ ๋กญ๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[TIL]

  • Git์˜ ํ™˜๊ฒฝ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ํ•„์š”์„ฑ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Github๊ณผ Git์˜ ๊ด€๊ณ„์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • local repository์™€ remote repository์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โญ๏ธํŒŒ์ผ์„ ๋ฒ„์ „ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ์ด์œ โญ๏ธ

1. ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. 

2. ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 

3. ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ƒ๊ฒผ๋Š”์ง€ ๋ณด๊ธฐ ์‰ฝ๋‹ค. 

4. ํ˜‘์—…ํ•˜๊ธฐ ์ข‹๋‹ค. 

5. ๋ฐฑ์—…์šฉ

 


Git์ด๋ž€?

 

์†Œ์Šค ์ฝ”๋“œ ๊ธฐ๋ก์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. 

 

Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํŒŒ์ผ์€ Github, GitLab, Bitbucket ๋“ฑ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฑ์—…๊ณผ ํ˜‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Github๋ž€?

 

Git repository๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค

 

Git์œผ๋กœ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋Š” ํด๋”์— ๋Œ€ํ•ด์„œ Github์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

Github์—์„œ Code Review ๋“ฑ์„ ํ†ตํ•ด ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ณ ,

์ˆ˜๋งŽ์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค์ด GitHub๋กœ๋ถ€ํ„ฐ ํ˜ธ์ŠคํŒ…๋˜๊ณ  ์žˆ์–ด์„œ, ๋ˆ„๊ตฌ๋“  ์ž์œ ๋กญ๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 


โœ”๏ธ Git repository = Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํด๋”

 

Git repository

Git repository ๋Š” Remote Repository์™€ Local Repository ๋‘ ์ข…๋ฅ˜์˜ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์ž‘์—…ํ•  ๋•Œ๋Š” Local Repository์—์„œ ํ•˜๊ณ , ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๋ ค๋ฉด Remote Repository์— ์—…๋กœ๋“œํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด Remote Repository์— ์˜ฌ๋ ค๋†“์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋‚ด Local Repository ๋กœ ๊ฐ€์ง€๊ณ  ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

 

โœ”๏ธ Fork = contribute์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ํŒŒ์ผ์˜ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋‚ด ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ์ž‘์—…

 

โœ”๏ธ Clone = Fork ํ›„, ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…

 

โœ”๏ธ commit = ํŠน์ • ์‹œ์ ์— ์ƒ์„ฑ๋œ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์ž‘์—…

 

โœ”๏ธ push = ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์†Œ์Šค์ฝ”๋“œ ๋ณ€๊ฒฝ ์ž‘์—…์„ ์™„๋ฃŒ ํ›„, ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ commit์„ ํ†ตํ•ด ์ €์žฅํ•ด ์ค€ ๋’ค, Remote Repository์— ๋ฐ˜๋Œ€๋กœ ์˜ฌ๋ ค์ฃผ๋Š” ์ž‘์—… (Local Repository์— ๊ธฐ๋กํ•ด ๋†“์€ commit์„ Remote Repository๋กœ ์—…๋กœ๋“œํ•˜๊ธฐ)    

    Push๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ๋‚˜๋ฉด GitHub์—๋Š” Pull request๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์–ด์„œ, ๋‚ด๊ฐ€ ์ œ์•ˆํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋ฐ˜์˜ ์—ฌ๋ถ€๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ”๏ธ Pull = Remote Repository์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ Local Repository ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—