Git ์ฝ๋, ์ด์
์ฝ๋ ๋ชจ์
git init = ์ ์ฅ์ ์์ฑ
git add (ํ์ผ๋ช
) ,git add . (์ ์ฒด)
git status ๋ด ์ํ์ฐฝ ์ด๊ธฐ (ํ์ฌ ๋ด๊ฐ ์๋ ๋ธ๋์น, commit ์ํฉ)
git log --all --online (head ๋ด ํ์ฌ์์น)
git difftool ==> yes ==> hjkl ๋ฐฉํฅํค, q ์ข
๋ฃ ๋น๊ตํ๊ธฐ
git difftolol 'log id' ==> ํ์ฌํ์ผvsํน์ ์ปค๋ฐ ๋น๊ต ๊ฐ๋ฅ
git restore (ํ์ผ๋ช
) == ์ต๊ทผ ์ปค๋ฐ ์ํ๋ก ๋์๊ฐ
git restore --source ์ปค๋ฐ์์ด๋ ์ ์์ ์ปค๋ฐํ์ผ๋ก ๋์๊ฐ
git revert (์ปค๋ฐ ์ทจ์)
git reset --hard (์ปค๋ฐ ์์ด๋) ์ ์ผ๋ก ๋๋๋ฆฌ๊ธฐ
git fetch ์๊ฒฉ ์ ์ฅ์ ์ ๊ท commit ๊ฐ์ ธ์ค๊ธฐ
git branch ์๊ธฐ ๋ธ๋์น ํ์ธ
git branch -d,D (๋ธ๋์น๋ช
) ์ญ์
git checkout, git switch ๋ธ๋์น ์ด๋
git remote --v ์๊ฒฉ ์ ์ฅ์ ํ์ธํ๊ธฐ (URL ๊น์ง)
์ด์ ๋ฐฉ๋ฒ
1. develop ๋ธ๋์น๋ถํฐ ์์ฑํฉ๋๋ค.
์ผ๋จ ์คํ์ฉ ํ๋ก์ ํธ ์ฌ๋ณธ์ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ๋ค๊ฐ ๋จผ์ ๊ฐ๋ฐํด๋ด ์๋ค.
๊ทธ๋ฌ๊ธฐ ์ํด main ๋ธ๋์น์ ์๋ ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ๋ณต์ฌํ develop ๋ธ๋์น๋ฅผ ์์ฑํฉ๋๋ค.
์ด์ ๋ชจ๋ ๊ฐ๋ฐ์ develop ๋ธ๋์น์์ ์งํํ๋ผ๊ณ ํ์๋ค์๊ฒ ์ ํํฉ๋๋ค.
2. ์ ๊ธฐ๋ฅ๊ฐ๋ฐ์ feature ๋ธ๋์น์์ ์งํ
์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ ์ถ์ผ๋ฉด develop ๋ธ๋์น๋ฅผ ๋ณต์ฌํ feature ๋ธ๋์น์์ ๊ฐ๊ฐ ๊ฐ๋ฐํฉ๋๋ค.
feature/guild ๋ธ๋์น ๋ง๋ค์ด์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
(๋ธ๋์น ์๋ช ํ ๋ ์ฌ๋ฌ ๋จ์ด๊ฐ ํ์ํ๋ฉด ๋ณดํต ๋์๋ / ๊ธฐํธ ์๋๋ค)
- ์์ฑ๋๋ฉด develop ๋ธ๋์น์ merge ํฉ๋๋ค.
- ์ค์ํ ๋ด์ฉ์ด ์๋๋ฉด squash and merge๋ ๊ด์ฐฎ์ต๋๋ค.
3. ์ ๋ฒ์ ์ถ์ ์ค๋น๋ release ๋ธ๋์น
์ด๊ฑธ ๋ฐ๋ก main ๋ธ๋์น์ ํฉ์น๊ธฐ์ ๋ ๋ถ์ํ๊ธฐ ๋๋ฌธ์
develop -> release ๋ธ๋์น ์ด๋ ๊ฒ ํ๋ก์ ํธ๋ฅผ ๋ณต์ฌํ ๋ค์ ์ถ์์ค๋น๋ฅผ ํฉ๋๋ค.
- ์ฌ๊ธฐ์ ํ ์คํธ๋ QA๊ฐ์๊ฑฐ ์งํํ๋ฉด ๋ฉ๋๋ค.
- ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ์์์ ์์ ๋ธ๋์น ๋ง๋ค์ด์ ์์ ํ๊ฑฐ๋ ํฉ๋๋ค.
- release/1.0 ์ด๋ฐ ์์ผ๋ก ์ด์๊ฒ ๋ธ๋์น ์ด๋ฆ์ ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์์ฑ๋ ๊ฒ ๊ฐ์ผ๋ฉด main ๋ธ๋์น๋ก merge ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฑฐ ์ ์ ๋ค์๊ฒ ๋ฐฐํฌํ๋ฉด ๋ฉ๋๋ค.
๊ฐ๋ฐ์ ๊ณ์ ์งํ๋์ด์ผํ๋ ์์ฑ๋ณธ์ develop ๋ธ๋์น์๋ merge ํด์ค์๋ค.
4. hotfix ๋ธ๋์น
๊ฐ์๊ธฐ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค.
๊ทธ๋ฐ ๊ธํ ๊ฒ๋ค์ main ๋ธ๋์น์์ hotfix ์ด๋ฐ ๋ธ๋์น ํ๋ ๋ง๋ค์ด์ ๋ฐ๋ก๋ฐ๋ก ๋ฒ๊ทธ์์ ํ๋ฉด ๋ฉ๋๋ค.
- ์์ ์ด ์๋ฃ๋๋ฉด main ๋ธ๋์น์ ์ง์ merge ํ๋ฉด ๋ฉ๋๋ค.
- ๋น์ฐํ develop ๋ธ๋์น์๋ merge ํด์ค์ผํฉ๋๋ค.
- continuous delivery ์ฐธ๊ณ
Q. merge ํ ๋ ์ด๋ค ๋ฐฉ๋ฒ ์ฐ๋๊ฒ ์ข์๊ฐ์?
๊ธฐ๋ก์ ๋จ๊ฒจ์ผํ๋ ์ค์ํ ๋ธ๋์น๋ฅผ mergeํ ๋ 3-way merge
๊ธฐ๋ก์ ๋จ๊ธธ ํ์์๋ ์ธ๋ฐ์๋ ๋ธ๋์น๋ฅผ mergeํ ๋ squash, rebase ์ฐ๋ฉด ๋ฉ๋๋ค.
์ทจํฅ์ผ ๋ฟ์ด๊ณ ์์์ํฉ์๋ค.