Git
<aside>
๐ก 1. ์ปดํจํฐ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ ์์
์ ์กฐ์จํ๊ธฐ ์ํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ค ํ๋
2. ๊ฐ๋ฐ์ฐ์ถ๋ฌผ์ ์์ค์ฝ๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ ํ ์ ์๋ ๋ฌด๋ฃ ์ํํธ์จ์ด
</aside>
S/W ๊ฐ๋ฐ์์ ์ฃผ๋ก ํ๋ก์ ํธ์ ์์ค์ฝ๋ ๊ด๋ฆฌ๋ฅผ ์ํ ํ์
๋๊ตฌ๋ก ์ฌ์ฉ
์ฌ์ฉ ๋ชฉ์
- ์์คํ
์ ๊ฐ๋ฐ/์ด์ํ๋ ๊ณผ์ ์์ ์ง์์ ์ผ๋ก ๋ฐ์ํ๋ ์ฝ๋์ ์ถ๊ฐ/์์ /์ญ์ ๋ฑ์ ์์
๋ค์ ๋ํ ๊ฐ๋ฐ ํ์คํ ๋ฆฌ์ ํ๋ก์ ํธ์ ๋ฒ์ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํจ
- ํ ํ๋ก์ ํธ์ ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค์ด ์ฐธ์ฌํ๋ ๊ฒฝ์ฐ, Remote ์ ์ฅ์๋ฅผ ํตํด ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ ์์
๋ถ์ ๋ค์ด๋ฐ์ ์ ์๊ณ , ๋ณธ์ธ์ ์์
๋ถ์ ์
๋ก๋ํ์ฌ ๋ถ์ฐ๋ ํ๊ฒฝ์์๋ ์ฝ๋๊ด๋ฆฌ์ ํ์
์ด ์ฉ์ด
๋ชฉ์ฐจ
Git WorkFlow

Git์ ํฌ๊ฒ 3๊ฐ์ง์ ๊ณต๊ฐ์ผ๋ก ๋ถ๋ฆฌ
- Working Directory : project๋ฅผ ๊ตฌ์ฑํ๋ ํ์ผ๋ค์ ์ถ๊ฐ/์์ /์ญ์ ํ๋ ์์
๊ณต๊ฐ
- Staging Area : Working Directory์์ ์์
์ด ์๋ฃ๋์ด ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ ํ์ผ๋ค์ ์ฎ๊ฒจ ๋๋ ๊ณต๊ฐ
- Git Repository : ์์
๋ฒ์ ์ History๋ฅผ ๊ฐ์ง๊ณ ์๋ Git ์ ์ฅ์
Git Repository Service
Git GUI Tool
- Github Desktop
- Source Tree
- Git Kraken
Git Flow

Git-Flow chart
Git-flow์๋ 5๊ฐ์ง ์ข
๋ฅ์ ๋ธ๋์น๊ฐ ์กด์ฌํ๋ฉฐ, ํญ์ ์ ์ง๋๋ ๋ฉ์ธ ๋ธ๋์น์ ์ผ์ ๊ธฐ๊ฐ ๋์๋ง ์ ์ง๋๋ ์๋ธ ๋ธ๋์น๋ก ๊ตฌ๋ถ
- master : ์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋์น
- develop : ๋ค์ ์ถ์ ๋ฒ์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- project init ๋น์ master๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๊ธฐ๋๋ฉฐ, feautre, release๊ฐ ๋ถ๊ธฐ๋๊ณ ๋ณํฉ๋๋ ๋ธ๋์น
- feature : ๊ฐ๋ณ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- ๊ธฐ๋ฅ์ด ์๋ฃ๋๋ฉด develop์ ๋ณํฉ
- release : ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋์ด ์ถ์ ๋ฒ์ ์ ์ค๋นํ๋ ๋ธ๋์น
- develop์์ ๋ถ๊ธฐ๋๊ณ master/develop์ ๋ณํฉ๋๋ ๋ธ๋์น
- ์ฃผ๋ก ์ฃผ์ ์ ๋ฆฌ, ์์
๊ฐ ๋ถํ์ํ๊ฒ ๋ฐ์ํ ํ์ผ์ .gitignore ๋ฑ๋ก, release ๋ด์ฉ์ ์์ฑํ๋ release-note ์์ฑ
- hotfix : ์ถ์ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น
- master์์ ๋ถ๊ธฐ ๋๊ณ master/develop์ ๋ณํฉ๋๋ ๋ธ๋์น
Git-Branch ์ ๋ต