GIT - Mai-Nova/AIssue-Overview GitHub Wiki
- Git ์ ๋ช ๋ น์ด ์ ๋ฆฌ ๋ฐ ์ค๋ช
- ์ถ์ฒ : https://git-scm.com/book/ko/v2
-
git conflict๊ฐ ์ง์์ ์ผ๋ก ๋ฌ๋ค.
1-1. merge ํ ๋ PR์์ conflict ๋ ๊ฒฝ์ฐ
1-2. branch๋ฅผ ๊ธฐ์กด์ branch์์ ๋ถ๊ธฐํด์ ์๋ก ํ๋ ๊ฒฝ์ฐ
1-1. push ํ๊ธฐ ์ ๋ง์ง๋ง ์คํ(Postman)
- merge๋ฅผ ํจ์ผ๋ก์ side effect ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์๋ก์ ์ฝ๋๊ฐ ์ ๋๋์ง ๋จผ์ ํ์ธํ๋ค โ ์คํ๋ ์์ผ๋ณด๊ธฐ
1-1. ์์ ๋จ์๋ก ์์ ํ์ผ๋ฉด commit์ ํ๋ค โ ๋ํด์ PR ์ ์๊ฒ ์์ฃผ ๋ ๋ฆฐ๋ค.
1-2. ์ ์์
์ ํญ์ main
์์ ์์ํ๋, ๋ฐ๋์ git pull origin main์ผ๋ก ์ต์ ํ ํ ๋ธ๋์น ํ๊ธฐ! (์ฐธ๊ณ - ๋ธ๋์น ๋ถ๊ธฐ์ชฝ ๋ณด๊ธฐ)
1-2. ํ์ฌ ๋ธ๋์น์์ ์ ๋ธ๋์น๋ฅผ ํ๋ ๊ฒฝ์ฐ๋ ํ์ฌ ์์ ์ค์ธ ๋ด์ฉ์ ์ด์ด์ ํ์ฅํ๊ฑฐ๋ ์ธ๋ถํ
- ์ํน ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ํฌ๊ฒ Tracked(๊ด๋ฆฌ๋์์)์ Untracked(๊ด๋ฆฌ๋์์ด ์๋)๋ก ๋๋๋ค.
- Tracked ํ์ผ์ ์ด๋ฏธ ์ค๋ ์ท์ ํฌํจ๋ผ ์๋ ํ์ผ์ด๋ค. Tracked ํ์ผ์ ๋ Unmodified(์์ ํ์ง ์์)์ Modified(์์ ํจ) ๊ทธ๋ฆฌ๊ณ Staged(์ปค๋ฐ์ผ๋ก ์ ์ฅ์์ ๊ธฐ๋กํ ) ์ํ ์ค ํ๋์ด๋ค. ๊ฐ๋จํ ๋งํ์๋ฉด Git์ด ์๊ณ ์๋ ํ์ผ์ด๋ผ๋ ๊ฒ์ด๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง ํ์ผ์ ๋ชจ๋ Untracked ํ์ผ์ด๋ค. Untracked ํ์ผ์ ์ํน ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ ์ค ์ค๋ ์ท์๋ Staging Area์๋ ํฌํจ๋์ง ์์ ํ์ผ์ด๋ค. ์ฒ์ ์ ์ฅ์๋ฅผ Clone ํ๋ฉด ๋ชจ๋ ํ์ผ์ Tracked์ด๋ฉด์ Unmodified ์ํ์ด๋ค. ํ์ผ์ Checkout ํ๊ณ ๋์ ์๋ฌด๊ฒ๋ ์์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๋ค.
- ๋ง์ง๋ง ์ปค๋ฐ ์ดํ ์์ง ์๋ฌด๊ฒ๋ ์์ ํ์ง ์์ ์ํ์์ ์ด๋ค ํ์ผ์ ์์ ํ๋ฉด Git์ ๊ทธ ํ์ผ์ Modified ์ํ๋ก ์ธ์ํ๋ค. ์ค์ ๋ก ์ปค๋ฐ์ ํ๊ธฐ ์ํด์๋ ์ด ์์ ํ ํ์ผ์ Staged ์ํ๋ก ๋ง๋ค๊ณ , Staged ์ํ์ ํ์ผ์ ์ปค๋ฐํ๋ค. ์ด๋ฐ ๋ผ์ดํ์ฌ์ดํด์ ๊ณ์ ๋ฐ๋ณตํ๋ค
ํ์ผ์ด ์ด๋์ ์์นํ์ง ํ์ธ
-
Changes to be committed:
Staged ์ํ๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค. -
Changes not staged for commit
: ์ด๊ฒ์ ์์ ํ ํ์ผ์ด Tracked ์ํ์ด์ง๋ง ์์ง Staged ์ํ๋ ์๋๋ผ๋ ๊ฒ์ด๋ค.
-
Staged ์ํ์ด๋ฉด์ ๋์์ Unstaged ์ํ :
git add
๋ช ๋ น์ ์คํํ๋ฉด Git์ ํ์ผ์ ๋ฐ๋ก Staged ์ํ๋ก ๋ง๋ ๋ค. ์ง๊ธ ์ด ์์ ์์ ์ปค๋ฐ์ ํ๋ฉดgit commit
๋ช ๋ น์ ์คํํ๋ ์์ ์ ๋ฒ์ ์ด ์ปค๋ฐ๋๋ ๊ฒ์ด ์๋๋ผ ๋ง์ง๋ง์ผ๋กgit add
๋ช ๋ น์ ์คํํ์ ๋์ ๋ฒ์ ์ด ์ปค๋ฐ๋๋ค. ๊ทธ๋ฌ๋๊นgit add
๋ช ๋ น์ ์คํํ ํ์ ๋ ํ์ผ์ ์์ ํ๋ฉดgit add
๋ช ๋ น์ ๋ค์ ์คํํด์ ์ต์ ๋ฒ์ ์ Staged ์ํ๋ก ๋ง๋ค์ด์ผ ํ๋ค.
- ํ์ฌ ํ๋ก์ ํธ์ ๋ฑ๋ก๋ ๋ฆฌ๋ชจํธ ์ ์ฅ์๋ฅผ ํ์ธํ ์ ์๋ค. ์ด ๋ช ๋ น์ ๋ฆฌ๋ชจํธ ์ ์ฅ์์ ๋จ์ถ ์ด๋ฆ์ ๋ณด์ฌ์ค๋ค.
git remote
origin
git remote show <๋ฆฌ๋ชจํธ ์ ์ฅ์ ์ด๋ฆ>
๋ช
๋ น์ผ๋ก ๋ฆฌ๋ชจํธ ์ ์ฅ์์ ๊ตฌ์ฒด์ ์ธ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค
๋ฆฌ๋ชจํธ ์ ์ฅ์์ URL๊ณผ ์ถ์ ํ๋ ๋ธ๋์น๋ฅผ ์ถ๋ ฅํ๋ค. ์ด ๋ช
๋ น์ git pull
๋ช
๋ น์ ์คํํ ๋ master ๋ธ๋์น์ Merge ํ ๋ธ๋์น๊ฐ ๋ฌด์์ธ์ง ๋ณด์ฌ ์ค๋ค. git pull
๋ช
๋ น์ ๋ฆฌ๋ชจํธ ์ ์ฅ์ ๋ธ๋์น์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์ค๊ณ ๋์ ์๋์ผ๋ก Merge ํ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ธ์จ ๋ชจ๋ ๋ฆฌ๋ชจํธ ์ ์ฅ์ ์ ๋ณด๋ ์ถ๋ ฅํ๋ค.
๋ธ๋์น๋ช
์ ์๋ตํ๊ณ git push
๋ช
๋ น์ ์คํํ ๋ ์ด๋ค ๋ธ๋์น๊ฐ ์ด๋ค ๋ธ๋์น๋ก Push ๋๋์ง ๋ณด์ฌ์ค๋ค. ๋ ์์ง ๋ก์ปฌ๋ก ๊ฐ์ ธ์ค์ง ์์ ๋ฆฌ๋ชจํธ ์ ์ฅ์์ ๋ธ๋์น๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์ง, ์๋ฒ์์๋ ์ญ์ ๋์ง๋ง ์์ง ๊ฐ์ง๊ณ ์๋ ๋ธ๋์น๋ ์ด๋ค ๊ฒ์ธ์ง, git pull
๋ช
๋ น์ ์คํํ์ ๋ ์๋์ผ๋ก Merge ํ ๋ธ๋์น๋ ์ด๋ค ๊ฒ์ด ์๋์ง ๋ณด์ฌ์ค๋ค.
git remote show origin
remote origin
Fetch URL: https://github.com/Mai-Nova/AIssue-BE-Express.git
Push URL: https://github.com/Mai-Nova/AIssue-BE-Express.git
HEAD branch: main
Remote branches:
backup/feature-repository tracked
feature/DBconnect tracked
feature/login tracked
feature/repository tracked
main tracked
Local branches configured for 'git pull':
feature/database merges with remote feature/database
feature/repository merges with remote feature/repository
main merges with remote main
Local refs configured for 'git push':
feature/repository pushes to feature/repository (up to date)
main pushes to main (local out of date)
stale (use 'git remote prune' to remove)
- stale(์ง์ฐ๋ ๋ธ๋์น ์ฐธ์กฐ) : ๋์ด์ ์๊ฒฉ ์ ์ฅ์์ ์กด์ฌํ์ง ์๋ ์ฐธ์กฐ(refs)๋ฅผ ๋งํ๋ค.
- ์๊ฒฉ ์ ์ฅ์(origin)์์๋
feature/repository-merge
๋ธ๋์น๋ฅผ ์ญ์ ํ์ง๋ง - ๋ก์ปฌ์
.git/refs/remotes/origin/
๋๋ ํฐ๋ฆฌ์๋ ์ฌ์ ํ ๋จ์ ์๋ ๊ฒฝ์ฐ
๋ก์ปฌ์ ๋จ์ ์๋ stale ์๊ฒฉ ๋ธ๋์น๋ค์ ์ ๋ฆฌํ๋ ๋ช ๋ น์ด
- ๋ด๋ถ ๋์
-
.git/refs/remotes/origin/
์ ์๋ ๋ธ๋์น ์ค, ์ค์ ์๊ฒฉ ์ ์ฅ์(origin)์์ ์ฌ๋ผ์ง ๋ธ๋์น๋ค์ ์ญ์ ํฉ๋๋ค.
-
- ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ์๊ท๋จผํธ๋ก ๋ฐ๋๋ค. ๋๋ ํ ๋ฆฌ๋ฉด ์๋์ ์๋ ๋ชจ๋ ํ์ผ๋ค๊น์ง ์ฌ๊ท์ ์ผ๋ก ์ถ๊ฐํ๋ค.
- ์ด๋ค ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๋์ง ์ดํด๋ณด๋ ค๋ฉด ์ด๋ค
- ๋ง์ง๋ง์ผ๋ก ์ปค๋ฐํ ํ์ ์์ ํ ๊ฒ๋ค ์ ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ์ง ์๋๋ค.
- Unstaged ์ํ์ธ ๊ฒ๋ค๋ง ๋ณด์ฌ์ค๋ค.
- ์์ ํ ํ์ผ์ ๋ชจ๋ Staging Area์ ๋ฃ์๋ค๋ฉด
git diff
๋ช ๋ น์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅํ์ง ์๋๋ค. - ๋ง์ฝ ์ปค๋ฐํ๋ ค๊ณ Staging Area์ ๋ฃ์ ํ์ผ์ ๋ณ๊ฒฝ ๋ถ๋ถ์ ๋ณด๊ณ ์ถ์ผ๋ฉด
git diff --staged
์ต์ ์ ์ฌ์ฉํ๋ค. ์ด ๋ช ๋ น์ ์ ์ฅ์์ ์ปค๋ฐํ ๊ฒ๊ณผ Staging Area์ ์๋ ๊ฒ์ ๋น๊ตํ๋ค. Staged ์ํ์ธ ํ์ผ์git diff --cached
์ต์ ์ผ๋ก ํ์ธํ๋ค.--staged
์--cached
๋ ๊ฐ์ ์ต์ ์ด๋ค.
-
rebase
๋ช ๋ น์ผ๋ก ํ ๋ธ๋์น์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ๋ค๋ฅธ ๋ธ๋์น์ ์ ์ฉํ ์ ์๋ค. - https://git-scm.com/book/ko/v2/Git-%eb%b8%8c%eb%9e%9c%ec%b9%98-Rebase-%ed%95%98%ea%b8%b0#_rebasing
- ์ผ๋ฐ์ ์ธ ํด๋ต์ ๊ตณ์ด ๋๋ฆฌ์๋ฉด ๋ก์ปฌ ๋ธ๋์น์์ ์์ ํ ๋๋ ํ์คํ ๋ฆฌ๋ฅผ ์ ๋ฆฌํ๊ธฐ ์ํด์ Rebase ํ ์๋ ์์ง๋ง, ๋ฆฌ๋ชจํธ ๋ฑ ์ด๋๊ฐ์ Push๋ก ๋ด๋ณด๋ธ ์ปค๋ฐ์ ๋ํด์๋ ์ ๋ Rebase ํ์ง ๋ง์์ผ ํ๋ค.
- ๋ณ๊ฒฝ ์ฌํญ(diff) ์ ํ์ผ๋ก ์ ์ฅํ ๊ฒ
-
์ด๋ค ์ปค๋ฐ์ด๋ ๋ณ๊ฒฝ์ฌํญ์ ํ
์คํธ ํ์์ผ๋ก ์ ์ฅํ ๊ฒ์
๋๋ค.
- ex) ํ์ฌ ์์
๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ์ฌํญ์
.diff
ํ์ผ๋ก ์ ์ฅ
- ex) ํ์ฌ ์์
๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ์ฌํญ์
git diff > my-change.patch
- Stash ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ์ํน ๋๋ ํ ๋ฆฌ์์ ์์ ํ ํ์ผ๋ค๋ง ์ ์ฅํ๋ค.
- Stash๋ Modified์ด๋ฉด์ Tracked ์ํ์ธ ํ์ผ๊ณผ Staging Area์ ์๋ ํ์ผ๋ค์ ๋ณด๊ดํด๋๋ ์ฅ์๋ค.
-
git stash list
: ์ ์ฅํ stash ํ์ธ -
git stash branch <๋ธ๋์น>
๋ช ๋ น์ ์คํํ๋ฉด Stash ํ ๋น์์ ์ปค๋ฐ์ Checkout ํ ํ ์๋ก์ด ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์ฌ๊ธฐ์ ์ ์ฉํ๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ฑ๊ณตํ๋ฉด Stash๋ฅผ ์ญ์ ํ๋ค.
- โReferencesโ ๋๋ โRefsโ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- Git ๋ด๋ถ์์ ์ปค๋ฐ ๊ฐ์ฒด๋ค์ ์ฐธ์กฐํ๋ ํฌ์ธํฐ ์์คํ
๊ฒฝ๋ก | ์ค๋ช |
---|---|
.git/refs/heads/ |
๋ก์ปฌ ๋ธ๋์น๋ค |
.git/refs/remotes/origin/ |
์๊ฒฉ ๋ธ๋์น๋ค |
.git/refs/tags/ |
ํ๊ทธ๋ค |
- ์ด๋ค ์ปค๋ฐ
1a410e
์ด์ ์ ๋ชจ๋ ํ์คํ ๋ฆฌ๋ฅผ ๋ณด๋ ค๋ฉดgit log 1a410e
๋ผ๊ณ ์คํํ๋ฉด ํ์คํ ๋ฆฌ๋ฅผ ๋ณผ ์ ์์ง๋ง, ์ฌ์ ํ1a410e
๋ฅผ ๊ธฐ์ตํด์ผ ํ๋ค. SHA-1 ๊ฐ์ ๋ ๋ก ์ฌ์ฉํ๊ธฐ๋ณด๋ค ์ฌ์ด ์ด๋ฆ์ผ๋ก ๋ ํฌ์ธํฐ๊ฐ ์์ผ๋ฉด ๊ทธ๊ฑธ ์ฌ์ฉํ๋ ๊ฒ ๋ ์ข๋ค. ์ธ์ฐ๊ธฐ ์ฌ์ด ์ด๋ฆ์ผ๋ก ๋ ํ์ผ์ SHA-1 ๊ฐ์ ์ ์ฅํ๋ค. - ์ด SHA-1 ๊ฐ์ ์ ์ฅํ๋ ํ์ผ์
.git/refs
๋๋ ํ ๋ฆฌ์ ์๋ค. ์์ ์ ํ๋ก์ ํธ์๋ ์์ง.git/refs
๋๋ ํ ๋ฆฌ ์์ ํ์ผ์ ์๊ณ ๋๋ ํ ๋ฆฌ๋ง ๋ช ๊ฐ ์๋ค
๋ก์ปฌ ๋ธ๋์น๋ฅผ ์๊ฒฉ ๋ธ๋์น์ ๋ช ์์ ์ผ๋ก ์ฐ๊ฒฐ(upstream ์ค์ )
git branch --set-upstream-to=origin/main main
๊ด๋ จ ๋ช ๋ น์ด
git push -u origin feature/mybranch
โ ์ฒ์ pushํ๋ฉด์ ์๋์ผ๋ก upstream ์ฐ๊ฒฐ (-u = --set-upstream)
์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์๋ ์๋ก์ด ๋ธ๋์น ๋ง๋ค๊ธฐ
# master/main ๋ธ๋์น๋ฅผ ์ด๊ธฐํ (index ๋ฐ working directory ํฌํจ ์์ ์ด๊ธฐํ)
git checkout --orphan wiki
git add -A
git commit -m "Initial commit"
์๊ฒฉ ์ ์ฅ์ ๊ฐ์ ํธ์(๋ชจ๋ ์ปค๋ฐ , ์ปค๋ฐ ์ด๋ ฅ ์ญ์ )
git push -f origin main
git origin์ ์๋ master ์ง์ฐ๊ธฐ
git push origin --delete master
git checkout -b feature/login
- ํ์ฌ ๋ธ๋์น(์:
develop
,feature/xyz
)์์ ๋ฐ๋ก ๋ธ๋์น๋ฅผ ๋ถ๊ธฐ - ํ์ฌ ์์ ์ค์ธ ๋ด์ฉ์ ์ด์ด์ ํ์ฅํ๊ฑฐ๋ ์ธ๋ถํํ ๋ ์์ฃผ ์ฌ์ฉ
-
feature/repository
์์ ์ธ๋ถ ๊ธฐ๋ฅ ์ถ๊ฐํ๋ ค๊ณfeature/repository-validation
์ ๋ง๋ค ๋ - ๋ค๋ฅธ ํ์์ด ์์ ์ค์ธ ๋ธ๋์น๋ฅผ ์ด์ด๋ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ฃ์ ๋
git checkout main
git pull origin main
git checkout -b feature/signup
- ํญ์ ์ต์ ์ ์์ ๋ ์ฝ๋(main) ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด ๊ธฐ๋ฅ์ ์์
- ๋ฒ๊ทธ ์์ , ์ ๊ท ๊ธฐ๋ฅ ๊ฐ๋ฐ, hotfix ๋ฑ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋จ
- ์ ๊ธฐ๋ฅ ์์ํ ๋ (ex.
feature/payment
) - ๊ธด ์์ ํ ์ฝ๋๊ฐ ๊ผฌ์์ ๊ฐ๋ฅ์ฑ ์์ ๋, ๊นจ๋ํ ์ถ๋ฐ์ ์ด ํ์ํ ๋
์ ์์ ์ ํญ์ main์์ ์์ํ๋, ๋ฐ๋์ git pull origin main์ผ๋ก ์ต์ ํ ํ ๋ธ๋์น ํ๊ธฐ!
Vincent Driessen์ด ๋ง๋ ์ ๋ต (2010).
๋ฒ์ ๋ฆด๋ฆฌ์ฆ ์ค์ฌ, ๋ธ๋์น๊ฐ ์ฌ๋ฌ ๊ฐ๋ก ๋๋จ.
๋ธ๋์น | ์ฉ๋ |
---|---|
main |
์ค์ ๋ฐฐํฌ๋๋ ์์ ๋ ๋ฒ์ |
develop |
๋ค์ ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ํ ํตํฉ ๊ฐ๋ฐ ๋ธ๋์น |
feature/* |
์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ฉ ๋ธ๋์น (feature/login ) |
release/* |
๋ฐฐํฌ ์ค๋น์ฉ ๋ธ๋์น (release/1.0.0 ) |
hotfix/* |
๋ฐฐํฌ ํ ๊ธด๊ธ ์์ ๋ธ๋์น (hotfix/critical-bug ) |
-
main
์์develop
๋ถ๊ธฐ -
develop
์์feature/*
๋ธ๋์น ์์ฑ โ ์๋ฃ๋๋ฉดdevelop
์ ๋จธ์ง - ๋ฆด๋ฆฌ์ฆ ์ค๋น ์
release/*
์์ฑ โ ํ ์คํธ ํmain
๊ณผdevelop
์ ๋ณํฉ - ์ด์ ์ค ๋ฒ๊ทธ๋
hotfix/*
์์ ๊ณ ์น๊ณ โmain
๊ณผdevelop
์ ๋ณํฉ
- ์ญํ ์ด ๋ช ํ โ ๋ฆด๋ฆฌ์ฆ ๊ด๋ฆฌ, QA, hotfix ๊ตฌ๋ถ์ด ์ฌ์
- ์ค๋ํ ํ๋ก์ ํธ, ๋ฒ์ ๊ด๋ฆฌ, ๊ธด ๊ฐ๋ฐ์ฃผ๊ธฐ์ ์ ํฉ
- ๋ธ๋์น๊ฐ ๋๋ฌด ๋ง์์ง โ ๊ด๋ฆฌ ๋ณต์ก
- ์๊ท๋ชจ ํ, ๋น ๋ฅธ ๋ฐฐํฌ์๋ ๊ณผํ ์ ๋ต
GitHub์ด ์ ์ํ ๊ฐ๋จํ ์ ๋ต.
์ง์์ ๋ฐฐํฌ(CD) ํ๊ฒฝ์ ์ต์ ํ๋จ.
๋ธ๋์น | ์ฉ๋ |
---|---|
main |
ํญ์ ๋ฐฐํฌ ๊ฐ๋ฅํ ์ํ |
feature/* |
์์ ๋ธ๋์น (๊ธฐ๋ฅ, ๋ฒ๊ทธ ์์ ๋ฑ) |
- ํญ์ ์ต์ ์ํ์
main
์ ์ง (CI/CD
์ฐ๋ ํ์) -
main
์์feature/abc
๋ธ๋์น ์์ฑ - ์ปค๋ฐ & ํธ์ โ GitHub PR(Pull Request) ์์ฑ
- ๋ฆฌ๋ทฐ & ํ
์คํธ โ
main
์ ๋ณํฉ ํ ์ฆ์ ๋ฐฐํฌ
- ๋จ์, ๋น ๋ฅธ ์์ ํ๋ฆ
- ์๋ํ ๋ฐฐํฌ(CI/CD)์ ์ ์ด์ธ๋ฆผ
- ์คํํธ์ , ์น์๋น์ค, SaaS์ ์ ํฉ
- ๋ฆด๋ฆฌ์ฆ ๊ณํ์ด ๋ช ํํ์ง ์์ผ๋ฉด ๊ธฐ๋ฅ ์ถฉ๋ ๋ฐ์ ๊ฐ๋ฅ
-
develop
์ด ์๊ธฐ ๋๋ฌธ์ ๋ณต์กํ QA๋ ๊ธฐ๋ฅ ์กฐํฉ์ด ์ด๋ ค์
ํญ๋ชฉ | Git Flow | GitHub Flow |
---|---|---|
์ ๋ต ์ฑ๊ฒฉ | ๋ฆด๋ฆฌ์ฆ ์ค์ฌ | ๋ฐฐํฌ ์ค์ฌ |
๋ธ๋์น ์ | ๋ง์ (main , develop , feature , release , hotfix ) |
์ ์ (main , feature ) |
๋ฆด๋ฆฌ์ฆ ๊ด๋ฆฌ | ์ฒด๊ณ์ | ์์ ๋ฐฐํฌ |
ํ์ ๊ท๋ชจ | ์ค๋ํ ํ | ์ํ ํ, ์คํํธ์ |
์ ํฉํ ์ํฉ | ์ ํ ์ถ์, ๋ฒ์ ๊ด๋ฆฌ | ์น์๋น์ค, ๋น ๋ฅธ ์ ๋ฐ์ดํธ |
์๋ํ(CI/CD) | ์์ด๋ ๊ฐ๋ฅ | ๊ฑฐ์ ํ์ |
์ด๋ค๊ฑธ ์ ํํ๋ฉด ์ข์๊น?
-
์คํํธ์
, ๋น ๋ฅธ ๊ธฐ๋ฅ ๊ฐ๋ฐ โ
GitHub Flow
-
์ํฐํ๋ผ์ด์ฆ, ๋ฆด๋ฆฌ์ฆ/QA๊ฐ ์ค์ํ ๊ฒฝ์ฐ โ
Git Flow
-
ํ์ด๋ธ๋ฆฌ๋ ์ ๋ต๋ ๊ฐ๋ฅ โ
main
+develop
+ ๊ฐ์ํ๋feature