Study: DeveloperTools(DevTool)/DevTool: Git

[Git] Git-Workflow, git ํ๋ฆ„์„ ์‚ดํŽด๋ณด์ž!

DrawingProcess 2022. 2. 24. 19:57
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” 'Git-Workflow, git ํ๋ฆ„์„ ์‚ดํŽด๋ณด์ž!'์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
์•ž์„œ [Git] ์™œ Git์„ ์‚ฌ์šฉํ• ๊นŒ?๋ฅผ ๋ณด๊ณ  ์™”๋‹ค๋ฉด ์™œ Git์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€ ์ดํ•ดํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Git์€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ์›๊ฒฉ, ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๊ฐœ๋…๊ณผ Git flow์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜์˜€์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Repository ๊ด€๋ฆฌ

๋จผ์ €, Git Repository ๊ตฌ์„ฑ์€ 3๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  1. Upstream Remote Repository: ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ณต์œ ํ•˜๋Š” ์ตœ์‹ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ ์›๊ฒฉ ์ €์žฅ์†Œ
  2. Origin Remote Repository: Upstream Repository๋ฅผ forkํ•œ ๊ฐœ์ธ ์›๊ฒฉ ์ €์žฅ์†Œ
  3. Local Repository: ๋‚ด ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐœ์ธ ์ €์žฅ์†Œ(Origin Repository๋ฅผ git clone)

๊ทธ๋Ÿผ ์™œ 3๊ฐ€์ง€์˜ Repository๋กœ ๊ตฌ์„ฑํ–ˆ์„๊นŒ?

์ด๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” Git-flow๋ฅผ ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

Git์€ ์†Œ์Šค์ฝ”๋“œ ๊ด€๋ฆฌ ํˆด๋กœ์„œ ์ „์„ธ๊ณ„์˜ ์‚ฌ๋žŒ๋“ค์ด ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฐ„์ด๊ธฐ๋„ ํ•˜๋‹ค. ์ด๋ฅผ ํ•จ๋ถ€๋กœ ์ˆ˜์ •ํ•˜๋‹ค๊ฐ€๋Š” ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์ƒ‰ํ• ๋งŒํผ ์˜๋ฏธ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์‚ฌ๋ผ์งˆ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ Github์™€ ๊ฐ™์€ ๊ณณ์— Repository๋ฅผ ๋งŒ๋“ค๋ฉด ํ•ด๋‹น Repository์˜ ๊ด€๋ฆฌ์ž๋Š” ์ˆ˜์ •๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ•ด๋‹น Repository์˜ ๊ด€๋ฆฌ์ž๋งŒ ์ˆ˜์ •๊ฐ€๋Šฅํ• ๊นŒ?

๊ทธ๊ฑด ๋˜ ์•„๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์ด ํŠน์ • Repository์— ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ฐœ์„ ํ•ด์„œ ์ˆ˜์ •์„ ์š”์ฒญํ•œ๋‹ค๋ฉด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ Pull Request๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํŠน์ • Repository๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? ์–ด๋””์—์„œ ์ž‘์—…ํ•ด์•ผํ• ๊นŒ?

๋ณดํ†ต ์ˆ˜์ •ํ•˜๊ณ ์‹ถ์€ Repository๋ฅผ ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„(Server)์œผ๋กœ ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ(Fork)ํ•œ ํ›„ ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„์—์„œ ์ž‘์—…์„ ๋งˆ์นœ ํ›„ Pull Request๋ฅผ ๋ณด๋‚ด๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

๋‹จ์ˆœํžˆ ์ž‘์—…๊ณต๊ฐ„ ๋‚ด์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋‚˜์˜ ์ปดํ“จํ„ฐ์— ๋‹ค์šด๋กœ๋“œ(clone)๋ฅผ ๋ฐ›์•„์„œ ์ปดํ“จํ„ฐ ์ƒ์—์„œ ์ž‘์—…ํ•œ ๊ฒƒ ์ค‘ ์™„๋ฃŒํ•œ ๊ฒƒ์„ ์˜ฌ๋ ค(Push) ์ž‘์—…๊ณต๊ฐ„์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค. 

์ด๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด?

  1. ํŠน์ • Repository(Upstream Remote Repo)๋ฅผ ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„(Origin Remote Repo)์œผ๋กœ ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ(Fork).
  2. ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„์— ์žˆ๋Š” ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ ์ž ๋‚˜์˜ ์ปดํ“จํ„ฐ์— ๋‹ค์šด๋กœ๋“œ(clone).
  3. ์ปดํ“จํ„ฐ ์ƒ์—์„œ ์ž‘์—…์™„๋ฃŒํ•œ ๊ฒƒ์„ ์˜ฌ๋ ค(Push) ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„ ์—…๋ฐ์ดํŠธ.
  4. ๋‚˜์˜ ์ž‘์—…๊ณต๊ฐ„์˜ ๋‚ด์šฉ์œผ๋กœ Forkํ–ˆ๋˜ ์›๋ž˜ Repository๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? Pull Request๋ฅผ ๋ณด๋‚ด๊ธฐ.

์•„ ์ถ”๊ฐ€๋กœ Pull ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ œ๊ฐ€ Forkํ•œ ์ดํ›„๋กœ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์›๋ž˜ Repository๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ง€์†์ ์œผ๋กœ PULL์„ ํ•ด์คŒ์œผ๋กœ์จ ์ตœ์‹ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ๊ถ๊ธˆํ•˜์‹ค ๋ถ€๋ถ„์ด... ๋‚ด ์ปดํ“จํ„ฐ ์ƒ์—์„œ๋Š” ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•˜๋Š”๊ฐ€? ์ผํ…๋ฐ, ํ•ด๋‹น ๋‚ด์šฉ์€[Git] Github ์„ค์น˜, ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ• ์—์„œ ์•Œ๋ ค๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

 

[Git] Github ์„ค์น˜, ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ•

Intro ์•ž์„œ [Git] ์™œ Git์„ ์‚ฌ์šฉํ• ๊นŒ?๋ฅผ ๋ณด๊ณ  ์™”๋‹ค๋ฉด ์™œ Git์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€ ์ดํ•ดํ–ˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Git์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด๋ณผ๊นŒ? Install & Setting Install Window: https://gitforwindows.org/ Mac..

csj000714.tistory.com

 

๋ฐ˜์‘ํ˜•