โฌ๏ธ Main Note
https://docs.google.com/document/d/1fmrR4Qq6lThvvq-GApQ_vFTc6VlvXnV3QhVvZoQjvlg/edit
Sequence Diagram : ์์๋
โค This is an essential thing since other co-workers are able to know which functions to use when API is requested.
ex) https://docs.google.com/spreadsheets/d/1BCdqOX4YkpPdMstuxlfGMZO4ykqKSSlMUwJ8e0K7K3w/edit#gid=0
Developing is done in develop branch.
โค Naming doesn't really matter, but this is conventional.
Branch is like a specified folder.
git branch
โค View my current working branch.
git checkout -b develop
โค Create a branch called โdevelopโ and move to that branch.
โค Here, develop branch is created from master branch.
โค git checkout -b aaa
=> aaa branch created and moved to aaa branch.
git checkout -b qqq
git checkout master
โค We do not add -b when moving to existing branch.
Each branches have different folders.
โค Even if I changed something in master branch, there's nothing with develop branch.
โค Commit should be done to save
โค When branches change, files and folders change.
master branch์์ feature branch๋ฅผ ๋๋ค๊ณ ํ ๋:
์ฒ ์๋ ๊ฒ์๊ธ ๋ฑ๋ก์ ๋ง๋ค๊ณ ์ํฌ๋ ์ํ๋ฑ๋ก์ ๋ง๋ค๊ณ ํ์ด๋ ๊ฒฐ์ ํ๊ธฐ ๊ธฐ๋ฅ์ ๋ง๋ค์๋ค๊ณ ํ์
3๋ช
์ด ํ์ฌ์์ ๊ฐ์ด ์ผํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ฌ์๋ ํ๋์ ํฐ repository๊ฐ ์์ === develop branch
์ฒ ์, ์ํฌ, ํ์ด๋ ๊ฐ๊ฐ์ develop branch์์ ์์์ ํด์ ์ branch๋ฅผ ๋ด ํ ๊ฐ์์ branch์์ ์ผํ๋๊ฑฐ์
์ฒ ์๊ฐ feature-boardwrite๋ผ๋ branch๋ฅผ, ์ํฌ๋ feature-productwrite, ํ์ด๋ feature-payment๋ฅผ ๋ง๋ฆ
์ํฌ vscdoe์์๋ feature-productwrite ๋ฐ์ ์์ ์๊ธฐ๊บผ๋ฐ์ ์๋๊ฑฐ์
๊ทธ๋์ ๊ฐ์ ์น ์ฝ๋๋ฅผ develop์ ํฉ์น๋ ๋ฐฉ์์ผ๋ก ์งํํ๋๊ฑฐ์
๊ทธ๋ฌ๋ฉด develop source code๊ฐ ์ ์ ์ปค์ ธ๊ฐ๋๊ฑฐ์
[ Deploy ]
๊ทธ๋์ ๋์ค์ ์๋ฅผ ๊ทธ๋ง ๋ง๋ค๊ณ ๋ฐฐํฌํ์! ํ๋๊ฑฐ์
๊ทธ๋ฆฌ๊ณ ์ด ๋ฐฐํฌ๋ master branch์์ ์คํ
๊ทผ๋ฐ ๊ทธ ์ ์ release branch์ ์ด๋์์ผ์ ํฉ์นจ
โ ์๋ ๊ทธ๋ฅ ์ด๋ฆ์ด release branch์ผ ๋ฟ์ด์ง ์ด๋ฆ์ ์๋ฌด๊ฑฐ๋ ํด๋ ์๊ด์ด ์์
โ release branch๋ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์๋ฌต์ ์ธ ๋ฃฐ์ด ์กด์ฌํจ
*** ์ฌ๊ธฐ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ง ์๊ณ ๋ฒ๊ทธ๋ง ์์ ํด์ ์
๋ฐ์ดํธํด์ผํจ
๊ทธ๋์ ๋์ด์ ์ต์ข
๋ฒ๊ทธ๊ฐ ๋์ค์ง ์๊ฒ ๋๋ค๋ฉด master branch์ ์ด๋์์ผ์ ๊ทธ master branch๋ฅผ ๋ฐฐํฌ์ํค๋๊ฑฐ์
[ hotfixes ]
๋ง์ฝ์ master branch์ ์ด๋ฏธ ๋ฐฐํฌ๊ฐ ๋ค ๋ ํ์ ์น๋ช
์ ์ธ ๋ฒ๊ทธ๊ฐ ์๊ฒผ๋ค๋ฉด
( ์ถ์ ๋ฒ์ ์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น )
Master branch์์ hotfixes branch๋ฅผ ๊น๋๊ฑฐ์
๊ทธ๋ฌ๋ฉด ๊ทธ๊ฑธ ๊ฐ์ง๊ณ ์น๋ช
์ ์ธ ๋ฒ๊ทธ๋ค์ ์์ ํ ๋ค์ master branch์์ ์
๋ฐ์ดํธ๋ฅผ ํ๋๊ฑฐ์
์ด๋ ๋ธ๋์น์์ ์ด๋ค ๋ธ๋์น๋ฅผ ๋๋๋๊ฐ ์๋นํ ์ค์ํจ (์ด๋์ ๋ญ ๋๋๋)
ํ์ผ๊ณผ ํด๋๋ฅผ ๊ฐ์ง๊ณ ์ ์ ๋ธ๋์น๋ฅผ ๋ฐ๋๊ฑฐ๊ธฐ ๋๋ฌธ์
์ ๋ธ๋์น๋ฅผ ๋๋ค๊ณ ํด์ ๋ชจ๋ ํ์ผ์ด ๋ค ์ ์ฅ๋์ด์๋๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ์ด๋์ ๋๋๋๊ฐ matters
์ฐ๋ฆฌ๊ฐ ํ์์ git push ํ ๋ => git push origin master ์์
git push origin feature-boardwrite
git pull ๋ฐ์๋ => git pull upstream develop
์๋ก ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๋๋ ์ ๊ฐ๋ฐ์ ํ๊ณ ์์ (๊ฐ์ ๊ฒ์๋ฌผ, ์ํ, ๊ฒฐ์ ๋ฅผ ํ๋์ค)
โ ์ด๋ ํ์ด๊ฐ ์ฒ ์์ ์์ค์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์๋จ
ํ์ด๋ ๊ฒ์๊ธ ๋ฑ๋ก์ ์์ ํ๊ฒ ๋๋ฉด ๋๊ตฐ๋ฐ์์ ๋์์ ๋ฐ๋๊ฒ ๋๊ธฐ ๋๋ฌธ์ PR์ด ํ์ฌ repository์ ๋ ๋ผ๊ฐ์๋ merging์ ํ๋ ค๋๋ฐ ๋ญ ํฉ์น๊ณ ๋ญ ๋ฒ๋ฆด์ง ๋ชจ๋ฅด๋๊ฑฐ์
ํ์ผ ๋๊ฐ๋ฅผ ๋์์ merge ํ ์ ์์(X)
๊ณตํต์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ๋ค์ ๋ฆฌ๋๋ ์๋์ด๊ฐ ๋ด๋นํด์ผํจ (์๋ก ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ด ์๋ ๋ )
๋ชจ๋ ๊ตฐ๋ฐ๊ตฐ๋ฐ์ ์ํฅ์ ๋ฏธ์น๋ค ๋ณด๋, ๊ณตํต ๊ธฐ๋ฅ๋ค์ ๋ฆฌ๋, ์๋์ด ๋ฑ๋ฑ ์ฐ์ฐจ๊ฐ ์๋ ์ฌ๋๋ค์ด ๋งก์์ ์งํํจ
๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์๊ฒ ํผํด๊ฐ ๋์ง ์๊ฒ๋ ํผํด์ฌ๋ถ๋ ์ฒดํฌํด๊ฐ๋ฉด์ ๊ฐ๋ฐํด์ผํจ
Merge๊ฐ ์๋ ๊ธฐ๋ฅ๊ณผ ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
์ฒ ์๊ฐ ์๊ฐ์ด ์ข ๋จ์์ ๋ค์๊ฑฐ๋ฅผ ๋จผ์ ๊ฐ๋ฐํด๋ณผ๊น? ํ๋๋ฐ ๊ทธ๋ฌ๋ฉด ๊ฒ์๋ฌผ ๋ฑ๋ก ํ์ผ๋๊น ๊ฒ์๋ฌผ ์์ ์ ํด๋ณด์ ์ด๋ฌ์
๊ทผ๋ฐ ์ด๊ฑฐ ์ํํจ!! ์์ง ํฉ์ณ์ง์ง ์์ ์ํ์์ ๋ญ ๋ ํ๋ ค๊ณ ํ๋ฉด ์๋จ
โ Merge ๊ฐ ์๋ ์๋ ์๋๋ฐ ๊ทธ๊ฑฐ์ ์์กด์ ์ธ API๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ๊ผฌ์ด๊ฒ ๋จ
Merge๊ฐ ์๋๊ณ ๊ฑฐ์ ๋นํ์๋๋ฅผ ์๊ฐํด๋ด์ผํจ
Merge๊ฐ ์๋ ๊ธฐ๋ฅ์ ์์กด์ ์ธ ๊ธฐ๋ฅ ๋ง๋ค์ง ๋ง๊ธฐ
[ ์ค์ต ]
ํ์ฌ repository : mentoโs repository
Push ํ๊ฒ ๋๋ฉด pr๋ ๋ฆฌ๊ณ ํ์ธ ๋๋ฅด๋ฉด ์๋์ผ๋ก ์๋ณธ์ pull request๊ฐ ๋ ๋ผ๊ฐ๊ฒ ๋จ
Pull request ์์ ํ์ฌ Repository๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ฌ๋์ merge๋ฅผ ํ ์ ์์
ํ์ฅ git clone ํ ๊ทธ branch์ ๋ค์ด๊ฐ์ ์ branch ์์ฑ
=> git checkout -b feature-#10
Api ๋ง๋ค๊ณ ์ด๊ฑฐ์ ๊ฑฐ ํ ํโฆ
git add .
git commit -m โUpdate - board apiโ [ Commit Convention ]
git push origin feature-#10
git log ํ๋ฉด commit logs ์กฐํ ๊ฐ๋ฅํด์ ๋๋๋ฆฌ๊ธฐ๊ฐ ๊ฐ๋ฅํจ
Git pull upstream develop
์ ํ๊ธฐ ์ํด์๋ 1. git checkout develop
2. git add remote add upstream โ์๋ณธ์ฃผ์โ
3. git pull upstream develop
๊ทธ๋์ ๊ณ์ ๊ฐ๋ฐ์ ์งํํด๋๊ฐ๋๊ฑฐ์
git checkout -b feature-#11
โ ์ด๋ฐ์์ผ๋ก ๋ ๋ธ๋์น ๋ฐ์ ๋ง๋ค๊ณ ์์
ํ๊ณ pr๋ ๋ฆฌ๊ณ โฆ
์ด๋ feature-#NUMBER์์ NUMBER๋ issue ๋ฒํธ