๐ก ๋ณธ ๋ฌธ์๋ 'Git-Workflow, git ํ๋ฆ์ ์ดํด๋ณด์!'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
์์ [Git] ์ Git์ ์ฌ์ฉํ ๊น?๋ฅผ ๋ณด๊ณ ์๋ค๋ฉด ์ Git์ ์ฌ์ฉํด์ผํ๋์ง ์ดํดํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด Git์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ผ๊น? ์๊ฒฉ, ๋ก์ปฌ ์ ์ฅ์์ ๊ฐ๋ ๊ณผ Git flow์ ๋ํด ์ ๋ฆฌํ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
Repository ๊ด๋ฆฌ
๋จผ์ , Git Repository ๊ตฌ์ฑ์ 3๊ฐ์ง๋ก ๊ตฌ์ฑ๋๋ค.
- Upstream Remote Repository: ๊ฐ๋ฐ์๋ค์ด ๊ณต์ ํ๋ ์ต์ ์์ค์ฝ๋๊ฐ ์ ์ฅ๋ ์๊ฒฉ ์ ์ฅ์
- Origin Remote Repository: Upstream Repository๋ฅผ forkํ ๊ฐ์ธ ์๊ฒฉ ์ ์ฅ์
- 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) ์์ ๊ณต๊ฐ์ ๋ด์ฉ์ ์์ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
์ด๋ฅผ ์ ๋ฆฌํ์๋ฉด?
- ํน์ Repository(Upstream Remote Repo)๋ฅผ ๋์ ์์ ๊ณต๊ฐ(Origin Remote Repo)์ผ๋ก ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ(Fork).
- ๋์ ์์ ๊ณต๊ฐ์ ์๋ ํ์ผ์ ์์ ํ๊ณ ์ ๋์ ์ปดํจํฐ์ ๋ค์ด๋ก๋(clone).
- ์ปดํจํฐ ์์์ ์์ ์๋ฃํ ๊ฒ์ ์ฌ๋ ค(Push) ๋์ ์์ ๊ณต๊ฐ ์ ๋ฐ์ดํธ.
- ๋์ ์์ ๊ณต๊ฐ์ ๋ด์ฉ์ผ๋ก Forkํ๋ ์๋ Repository๋ฅผ ์์ ํ๊ณ ์ถ๋ค๋ฉด? Pull Request๋ฅผ ๋ณด๋ด๊ธฐ.
์ ์ถ๊ฐ๋ก Pull ๊ฐ์ ๊ฒฝ์ฐ๋ ์ ๊ฐ Forkํ ์ดํ๋ก ๋ค๋ฅธ์ฌ๋์ด ์๋ Repository๋ฅผ ์์ ํ ์ ์์ผ๋, ์ง์์ ์ผ๋ก PULL์ ํด์ค์ผ๋ก์จ ์ต์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด์ ๊ถ๊ธํ์ค ๋ถ๋ถ์ด... ๋ด ์ปดํจํฐ ์์์๋ ํ์ผ์ ์ด๋ป๊ฒ ์์ ํ๋๊ฐ? ์ผํ ๋ฐ, ํด๋น ๋ด์ฉ์[Git] Github ์ค์น, ๊ธฐ๋ณธ ์ธํ ๋ฐ ๊ฐ๋จ ์ฌ์ฉ๋ฒ ์์ ์๋ ค๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค!
'Study: DeveloperTools(DevTool) > DevTool: Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] Commit ๋ฉ์์ง ๊ฐ์ด๋๋ผ์ธ (0) | 2022.07.04 |
---|---|
[Git] ssh ๊ณต๊ฐํค GitHub์ ๋ฑ๋กํ๊ธฐ (feat. github, bitbucket) (0) | 2022.06.21 |
[Git] Git Personal Access Token ๋ฐ๊ธ ๊ณผ์ (์ฌ์ง ํฌํจ)! (0) | 2022.04.17 |
[Git] Github ์ค์น, ๊ธฐ๋ณธ ์ธํ ๋ฐ ๊ฐ๋จ ์ฌ์ฉ๋ฒ (0) | 2022.02.23 |
[Git] ์ Git์ ์ฌ์ฉํ ๊น? (0) | 2022.02.23 |