Home
>
CS
>
2024
>
๐พ [CS] GitHub์ด๋ ๋ฌด์์ผ๊น์?
CS
๐พ [CS] GitHub์ด๋ ๋ฌด์์ผ๊น์?
- Git ๊ธฐ๋ฐ์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ ์ฌ์ฉํ์ฌ ์์ค ์ฝ๋์ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๋ ์น ๊ธฐ๋ฐ ํ๋ซํผ์
๋๋ค.
- Github์ ๋จ์ํ ์ฝ๋ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ, ํ ๊ฐ ํ์
, ์ฝ๋ ๋ฆฌ๋ทฐ, ์ด์ ๊ด๋ฆฌ, CI/CD(์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ)๋ฑ์ ์ง์ํ๋ฉฐ, ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ์คํ ์์ค ํ๋ก์ ํธ์ ์์ฉ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ํ๋ ฅํ๋๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
1๏ธโฃ GitHub์ ์ฃผ์ ํน์ง.
1๏ธโฃ ์๊ฒฉ ์ ์ฅ์ ๊ด๋ฆฌ.
- ๋ก์ปฌ Git ์ ์ฅ์์ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋๊ธฐํํ์ฌ ํ๋ก์ ํธ์ ์ฝ๋์ ์ด๋ ฅ์ ์ ์ฅํ๊ณ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ํ์ ๊ฐ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณต์ ํ๊ฑฐ๋ ํตํฉํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
2๏ธโฃ ํ์
์ง์
-
Pull Request(์ฝ๋ ๋ณ๊ฒฝ ์์ฒญ)๋ฅผ ํตํด ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๋ณํฉ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
-
Issue Tracker๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ์ ๋ฌธ์ ์ , ๋ฒ๊ทธ, ๊ฐ์ ์ฌํญ ๋ฑ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
3๏ธโฃ ๋ฒ์ ๊ด๋ฆฌ.
- Git์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์ฝ๋ ๋ณ๊ฒฝ ๋ด์ญ์ ์ถ์ ํ๊ณ ํน์ ์์ ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค.
4๏ธโฃ ์คํ ์์ค ํ๋ก์ ํธ ์ง์.
- ๋ง์ ์คํ ์์ค ํ๋ก์ ํธ๊ฐ GitHub์ ํธ์คํ
๋๋ฉฐ, ๋๊ตฌ๋ ์ฝ๋์ ๊ธฐ์ฌํ ์ ์๋ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.
5๏ธโฃ ๋ธ๋์น ๊ธฐ๋ฐ ์ํฌํ๋ก์ฐ.
- GitHub๋ Git์ ๋ธ๋์น ๊ธฐ๋ฅ์ ํตํด ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ ๊ฐ๋ฐ, ๋ฒ๊ทธ ์์ ๋ฑ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
6๏ธโฃ CI/CD ์ง์.
- GitHub Actions๋ฅผ ํตํด ์ง์์ ํตํฉ(Continuous Integration)๊ณผ ์ง์์ ๋ฐฐํฌ(Continuous Delivery)๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
7๏ธโฃ ์น ๊ธฐ๋ฐ ์ธํฐํ์ด์ค.
- ๋ช
๋ น์ค ๋์ ์น ๋ธ๋ผ์ฐ์ ์์ ์ฝ๋, ์ปค๋ฐ ๋ด์ญ, ๋ธ๋์น ๋ฑ์ ํ์ธํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
8๏ธโฃ ํตํฉ ๋๊ตฌ ๋ฐ ์๋น์ค.
- ๋ค์ํ ์ธ๋ถ ๋๊ตฌ(Jira, Slack, Trello ๋ฑ)์ ํตํฉํ ์ ์์ผ๋ฉฐ, Visual Studio Code ๋ฑ IDE์๋ ํธํ๋ฉ๋๋ค.
2๏ธโฃ GitHub์ ์ฃผ์ ๊ธฐ๋ฅ.
1๏ธโฃ Repository(์ ์ฅ์)
- GitHub์์ ํ๋ก์ ํธ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ.
-
Public Repository(๊ณต๊ฐ ์ ์ฅ์)์ Private Repository(๋น๊ณต๊ฐ ์ ์ฅ์)๋ฅผ ์ง์ํฉ๋๋ค.
2๏ธโฃ Pull Request.
- ๋ค๋ฅธ ๋ธ๋์น๋ ํฌํฌ(fork)๋ ์ ์ฅ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณํฉ ์์ฒญํ๋ ๊ธฐ๋ฅ.
- ์ฝ๋ ๋ฆฌ๋ทฐ ๊ณผ์ ์ ํตํด ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ ํ ๋ณํฉํ ์ ์์ต๋๋ค.
3๏ธโฃ Issue Tracker.
- ํ๋ก์ ํธ์์ ๋ฐ์ํ๋ ๋ฌธ์ ์ , ๋ฒ๊ทธ, ์๋ก์ด ๊ธฐ๋ฅ ์์ฒญ ๋ฑ์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํ๋ ๋๊ตฌ.
4๏ธโฃ Fork.
- ๋ค๋ฅธ ์ฌ์ฉ์์ ์ ์ฅ์๋ฅผ ๋ณต์ ํ์ฌ ๋
๋ฆฝ์ ์ผ๋ก ์์
ํ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ๋ฅ.
- ์คํ ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌํ ๋ ์ ์ฉํฉ๋๋ค.
5๏ธโฃ Actions.
- CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ ค ์ฝ๋๋ฅผ ๋น๋ํ๊ณ ํ
์คํธํ๊ฑฐ๋ ๋ฐฐํฌํ๋ ์์
์ ์๋ํํ ์ ์์ต๋๋ค.
6๏ธโฃ Code Review.
- Pull Request๋ฅผ ํตํด ํ์ ๊ฐ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ํํ๊ณ , ํผ๋๋ฐฑ์ ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
7๏ธโฃ Projects.
- ์นธ๋ฐ ๋ณด๋ ํํ๋ก ํ๋ก์ ํธ ์์
ํ๋ฆ์ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ.
8๏ธโฃ Wiki.
- ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ณต๊ฐ.
9๏ธโฃ Github Pages
- ์ ์ฅ์์ ์๋ HTML ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋จํ ์น์ฌ์ดํธ๋ฅผ ๋ฌด๋ฃ๋ก ํธ์คํ
ํ ์ ์๋ ๊ธฐ๋ฅ.
1๏ธโฃ0๏ธโฃ Collaborator & Permission Management
- ํ๋ก์ ํธ ํ์
์๋ฅผ ์ด๋ํ๊ณ , ๊ฐ ์ฌ์ฉ์์ ์ ๊ทผ ๊ถํ์ ์ค์ ํ ์ ์์ต๋๋ค.
3๏ธโฃ GitHun์ ์ฅ์ .
1๏ธโฃ ์คํ ์์ค ์นํ์ .
- ์๋ง์ ์คํ ์์ค ํ๋ก์ ํธ๊ฐ GitHub์ ํธ์คํ
๋๋ฉฐ, ๋๊ตฌ๋ ๊ธฐ์ฌํ ์ ์๋ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.
2๏ธโฃ ์ฌ์ด ํ์
.
- ์ฝ๋ ๋ฆฌ๋ทฐ, ์ด์ ๊ด๋ฆฌ, ๋ธ๋์น ๊ด๋ฆฌ ๋ฑ ํ์ ๊ฐ ํ์
์ ํจ๊ณผ์ ์ผ๋ก ์ง์ํฉ๋๋ค.
3๏ธโฃ ์น ๊ธฐ๋ฐ ๊ด๋ฆฌ.
- Git์ ์ ๋ชฐ๋ผ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๊ธฐ๋ณธ์ ์ธ ์์
์ ํ ์ ์์ต๋๋ค.
4๏ธโฃ ๋๊ท๋ชจ ์ปค๋ฎค๋ํฐ.
- ์ ์ธ๊ณ ์๋ง์ ๊ฐ๋ฐ์์ ํ๋ก์ ํธ๊ฐ GitHub์์ ํ๋ํ๋ฉฐ, ํ๋ถํ ๋ฆฌ์๋ฅด์ ๋ฌธ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
5๏ธโฃ ์๋ํ ์ง์.
- GitHub Actions์ ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ๋น๋, ํ
์คํธ, ๋ฐฐํฌ๋ฅผ ์๋ํํ ์ ์์ต๋๋ค.
6๏ธโฃ ๋ค์ํ ํตํฉ ๋๊ตฌ.
- Slack, Jira, Trello ๋ฑ๊ณผ ์ฐ๋ํ์ฌ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ํ์ธต ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์์ต๋๋ค.
7๏ธโฃ ๋ฌด๋ฃ๋ก ์ ๊ณต๋๋ ๊ธฐ๋ฅ.
- ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ๋ฌด๋ฃ๋ก ์ ๊ณต๋๋ฉฐ, ์๊ท๋ชจ ํ๋ ์ถฉ๋ถํ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4๏ธโฃ GitHub์ ๋จ์ .
1๏ธโฃ ์ธํฐ๋ท ์ฐ๊ฒฐ ํ์.
- GitHub๋ ์๊ฒฉ ์ ์ฅ์(Remote Repository)๋ฅผ ์ ๊ณตํ๋ฏ๋ก, ์์
๋๊ธฐํ๋ฅผ ์ํด ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
2๏ธโฃ ํ๋ผ์ด๋ฒ์ ์ฐ๋ ค.
- ๋ฌด๋ฃ ๊ณ์ ์์ ๊ณต๊ฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค(Private Repository๋ ์ ๋ฃ ๋๋ ์ ํ์ ์ผ๋ก ์ ๊ณต).
3๏ธโฃ ์ฌ์ฉ๋ฒ ํ์ต ํ์.
- Git๊ณผ GitHub๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ์ฉ์์๊ฒ๋ ํ์ต ๊ณก์ ์ด ์์ ์ ์์ต๋๋ค.
5๏ธโฃ GitHub์ ์ค์ ํ์ฉ ์์.
1๏ธโฃ ์คํ ์์ค ํ๋ก์ ํธ ํธ์คํ
.
- ๋ง์ ์ ๋ช
ํ ์คํ ์์ค ํ๋ก์ ํธ(์: React, TensorFlow, Spring Framework)๊ฐ GitHub์ ํธ์คํ
๋๊ณ ์์ต๋๋ค.
2๏ธโฃ ํ ํ๋ก์ ์ค ๊ด๋ฆฌ.
- ํ์
๋๊ตฌ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ํ ๊ฐ๋ฐ์์์ ํจ์จ์ฑ์ ๋์
๋๋ค.
3๏ธโฃ ํฌํธํด๋ฆฌ์ค ์ ์.
- ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์
๋ก๋ํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ๊ฐ๋ฐ ์ญ๋์ ํ๋ณดํ ์ ์์ต๋๋ค.
4๏ธโฃ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ํผ๋๋ฐฑ.
- ์ฝ๋ ํ์ง์ ๋์ด๊ธฐ ์ํด ๋ฆฌ๋ทฐ ๊ณผ์ ์ ํฌํจํ ํ์
์ ์งํํฉ๋๋ค.