๋ฐฑ์๋3, ํ๋ก ํธ์๋3์ด ํ ์กฐ๋ฅผ ์ด๋ฃจ์ด์ ํ๋ก์ ํธ๋ฅผ ํ๊ฒ ๋์๋ค.
์ฒซ ๋ง๋จ๊ณผ ์ฒซ ์ธ์์ ๋ค๋ค ๋๋ฌด๋๋ฌด ์ข์ผ์ ๋ถ๋ค์ด์๊ณ , ๋๋ง ์ํ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐ!
์ฌ์ค ์์ง๋ ๋๋ฌด ๋ถ์ํด์ ๊ฑฑ์ ์ด ๋ง๋ค ใ
_ใ
์ฒ์ ๋ง๋์ ์ ํ ๊ฒ์ ํ ๋น๋ฉ, ๊ทธ๋ฆฌ๊ณ ํ๋ณ ๊ณต๊ฐ์ ๋ง๋ค์๋ค
์ฌ์ง์ ๋ฃ์ด์ผํ๋๋ฐ ๋ณธ์ธ ์ฌ์ง์ด ์๋ค๋ ๋ถ์ด ๊ณ์
์
์ฆ์์์ ๊ตฌ๊ธ๋ฐ์ผ๋ก ์ฐํ ํํฐ๋ฅผ ์์ ๋ค๊ฐ์ด ์ฌ์ง์ฐ์์ใ
ใ
ใ
ใ
๊ทธ๋์ ์ฌ๋ค์ผ๋ ๊ทธ๊ฑฐ๋ก ๋ง์ถฐ๋ณด์๋ค
ํ์ด๋ฆ์ ์ฐ๋ฆฌ ์กฐ๊ฐ 15์กฐ๋ผ์, 15์ง์กฐ ๐ ๋ผ๊ณ ์๊ฒฌ์ ๋ด์๊ณ (ใ
ใ
ใ
ใ
ใ
ใ
)
์ฑํ๋์ด์ ์ฐ๋ฆฌ ์กฐ ์ด๋ฆ์ด ๋์๋ค!
ํ๋ก์ ํธ ์ผ๋ฐ ๊ท์น
- ์์นจ์ ์ธ์ฌ์ ๋๋ด ํ ๋ง๋์ฉ ํ๊ณ ์์ํ๊ธฐ.
- ์ฌ์ ๊ณต์ (์ต์ 30๋ถ ์ ) ์์ด ์ง๊ฐ 2ํ = ํ์์๊ฒ ์ปคํผ ํ ์์ฉ
ํ๋ก์ ํธ ๊ฐ๋ฐ ๊ด๋ จ ๊ท์น
- ์คํ 1์ 30๋ถ์ ๋ชจ์ฌ์ ๊ฐ์ ์งํ ์ํฉ ๋ธ๋ฆฌํ ํด์ฃผ๊ธฐ
- ์ ๋ 7์30๋ถ์ ๋ชจ์ฌ ์ค๋ ์ด๋๊น์ง ์งํ ๋์๋์ง , ๋ชจ๋ฅด๋ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ด๋์ธ์ง ์๊ธฐํ๊ธฐ
- ์์นจ์ ํ ์ฑ๋์์ ํ ์คํธ๋ก ์ค๋ ๋ฌด์์ ์งํํ ๊ฒ์ธ์ง ๊ณต์ ํด์ฃผ๊ธฐ
๊น ์ค์ ๋ฏธํ
๋น ๋ ํฌ๋ฅผ ํ๋ ํ์ dev๋ธ๋์น๋ ๋ง๋ค๊ณ , ๊ฐ์ ๊ฐ์ธ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด์
add commit merge ๋ฑ์ ์คํํด๋ณด์๋ค
์ผ๋ถ๋ฌ conflict๋๋๋ก ์คํํด๋ณด๊ณ , ์ด๋ป๊ฒ ํด๊ฒฐํ ์ง๋ ์ ํ๋ค.
์คํฐ๋๋ฅผ git์ผ๋ก ํ์๊ณ , ๊ณผ์ ๋ ๋ค git์ผ๋ก ํ๋๋ฐ๋
๋๋ฌด์ง git์ ๋ํด์ ์ ๋ชฐ๋๋๋ฐ... ์ด๋ฒ ๊ธฐํ์ ๊ฐ์๋ ์๊ฐํ๊ฒ ๋์๋ค.
git pull ์๊ฒฉ์ ์ฅ์์ฃผ์
์ด๋ฌ๋ฉด ์๊ฒฉ์ ์ฅ์์ ์๋ ๋ชจ๋ ๋ธ๋์น ๋ด์ฉ์ ๊ฐ์ ธ์์ ๋ก์ปฌ์ ์ฅ์์ ํฉ์น๋ผ๋ ๋ป
์ด๊ฑธ ํด์ฃผ๋ฉด ๋ก์ปฌ์ด ์ต์ ์ํ๊ฐ ๋๊ธฐ ๋๋ฌธ์ git push๊ฐ ๊ฐ๋ฅ
๊ฒฐ๋ก ์ ๋ณ๋์ฌํญ์ด ์๊ฒผ๋ค๋ฉด git pull ํ๊ณ ๋์ git push
- ๊ทธ๋ฆฌ๊ณ main ๋ง๊ณ ๊ผญ dev์๋ค๊ฐ pushํ๊ธฐ!!!!
git revert <๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐ ์ด๋ฆ>
git reset --soft HEAD~1
git log๋ก commit ๋ด์ญ์ ํ์ธํ ํ ๋๋๋ฆฌ๊ธฐ ์คํ or
--soft ์ต์
์ ์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ด ์์ค๋์ง ์์์ ์๋ฏธ
SourceTree
๊น๊ณผ ๋จธ์ง, ์ปค๋ฐ ๋ด์ญ๋ฑ์ ๋ ์ ๋ณด๊ธฐ ์ํด์ sourcetree๋ฅผ ์ด์ฉํ๊ธฐ๋ก ํ๋ค.
์ค์นํด์, ๊น์์ ๊ณต๋ถ๋ ํด๋ณด๊ณ ์ด๋ฒ์ ์ด๋ป๊ฒ ํ๋ฅด๊ณ ์๋์ง ๋ณด์๋๋ฐ,
์๋ฌด๋๋ ๊ณ์ ๊ณ์ ์ง์ผ๋ณด๊ณ ๊ณต๋ถํด๋ด์ผ ํ ๋ฏ ์ถ์ ใ
ใ
๋ธ๋์น
๋ธ๋์น ์ข ๋ฅ
- main : ๋ฐฐํฌ ๋ฐ ์ต์ข ์ถ์ ๋ฒ์ ๋ธ๋์น
- release : ๋ฒ ํ ๋ฐฐํฌ์ฉ ํ ์คํธ ๋ธ๋์น (main์ผ๋ก merge)
- dev : ๋ค์ ๋ฒ์ ๊ฐ๋ฐ ๋ธ๋์น (release๋ก merge)
- feat : ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ธ๋์น (dev์์ ๋ถ๊ธฐํ ๋ค dev๋ก merge ํ ํด๋น ๋ธ๋์น ์ญ์ )
- fix : ์์ ๋ฒ์ ๋ธ๋์น
- docs : ๋ฌธ์ ์์ฑ ๋ธ๋์น
๋ธ๋์น ๋ค์ด๋ฐ
- feat/fe or be / ์ด์๋ฒํธ - ์์ ๋ช
- release / ๋ฒ์ ผ๋ช
์ปค๋ฐ ์ปจ๋ฒค์
๊ธฐ๋ณธ ์ ์ธ ์ปค๋ฐ ๋ฉ์์ง ๊ตฌ์กฐ
type : subject
body : ๋ณธ๋ฌธ ๋ด์ฉ ์์ธํ๊ฒ ์์ฑ
์ปค๋ฐ type
feat : ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
fix : ๋ฒ๊ทธ ์์
docs : ๋ฌธ์ ์์
style : ์ฝ๋ ํฌ๋งทํ
, ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ
refactor : ์ฝ๋ ๋ฆฌํํ ๋ง
test : ํ
์คํธ ์ฝ๋, ๋ฆฌํํ ๋ง ํ
์คํธ ์ฝ๋ ์ถ๊ฐ
chore : ๋น๋ ์
๋ฌด ์์ , ํจํค์ง ๋งค๋์ ์์
์ฝ๋ ์ปจ๋ฒค์
ํ๋ก ํธ์๋ ์ฝ๋์ปจ๋ฒค์
ํ์ผ๋ช
- ์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌ๋ ํ์ผ : PascalCase
- ์ปดํฌ๋ํธ๊ฐ ์๋ ํ์ผ : camelCase
๋ณ์๋ช
- ๋ณ์๋ camelCase
ํจ์๋ช
handle + ๊ธฐ๋ฅ + ์ด๋ฒคํธ
<button onClick={handleResetClick}>๋ฆฌ์
๋ฒํผ</button>
<button onClick={handleSubmitClick}>์ ์ถ ๋ฒํผ</button>
์ฐ๊ด์ฑ์๋ ์ปดํฌ๋ํธ๋ค : ๊ธฐ๋ฅ + PascalCase + Box
function SignupFormBox() {...}
function LoginFormBox() {...}
<br><br>
#### Styled-components
> S + PascaleCase
```js
export const SHeader = styled.header`
๋ฐฑ์๋ ์ฝ๋ ์ปจ๋ฒค์
- ๋ณ์ ๋ช , ๋ฉ์๋ ๋ช : camelCase
- ํจํค์ง ๋ช : ์๋ฌธ์(-, _ ๋ฑ ํน์ ๋ฌธ์ ๊ธ์ง)
- ํ ์ด๋ธ ๋ช , ์ปฌ๋ผ ๋ช : snake_case