๐ฉ๐ซ [ํน๊ฐ] Git & Github @์ง์ ๋ฆผ๋
- ์ค๋ฌด์์ ๋ง์ด ์ฐ๋ Git ๋ช
๋ น์ด
- amend : ์ปค๋ฐ์ ์์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ์ปค๋ฐ์ ์์ ํ๊ณ force push๋ฅผ ํ๋ฉด pushํ ์ปค๋ฐ๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง ๊ฐ์ด ์ฐ๋ ์๊ฒฉ ๋ธ๋์น์์๋ ์ฌ์ฉํ๋ฉด ์๋๋ค. (ํผ์ ์์
ํ๋ ๋ธ๋์น์์ ์ฌ์ฉํด์ผ ํจ)
git commit --amend
- ์ปค๋ฐ์ ์์ ํ๊ณ force push๋ฅผ ํ๋ฉด pushํ ์ปค๋ฐ๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง ๊ฐ์ด ์ฐ๋ ์๊ฒฉ ๋ธ๋์น์์๋ ์ฌ์ฉํ๋ฉด ์๋๋ค. (ํผ์ ์์
ํ๋ ๋ธ๋์น์์ ์ฌ์ฉํด์ผ ํจ)
- stash : ์์
์ค์ธ ํ์ผ์ด ์๋๋ฐ ๋ค๋ฅธ ๋ธ๋์น ์ฝ๋๋ฅผ ๊ธํ๊ฒ ํ์ธ/์์
ํด์ผ ํ ๋ ํ์ฌ ์์
์ค์ธ ํ์ผ๋ค์ stash์ ์ ์ฅํ๋ค๊ฐ ๋ค์ ๊บผ๋ด์ธ ์ ์๋ค.
git stash -m "message"
- cherry-pick : ํน์ ์ปค๋ฐ๋ง ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋ ์ฌ์ฉ
- (์์) ์ด๋ฏธ ์ถ์ํ ์ฝ๋๊ฐ ์๋ latest ๋ธ๋์น์ ์์ ํด์ผ ํ ๋ฒ๊ทธ๊ฐ ์์ด์ ๊ธํ๊ฒ main ๋ธ๋์น์์ fix/bug ๋ธ๋์น๋ฅผ ๋ฐ์ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ main ๋ธ๋์น์ ๋ณํฉ์์ผ๋์๋ค. latest ๋ธ๋์น์ ์ด๋ฅผ ๋ฐ์ํด์ผ ํ๋๋ฐ main์๋ ๋ค์์ ์ถ์ํ , ์์ง ๊ณต๊ฐํ๋ฉด ์๋๋ ๊ธฐ๋ฅ๋ค์ ์ปค๋ฐ์ด ์์ฌ ์๋ ์ํฉ. ์ด๋ latest ๋ธ๋์น๋ก ์ด๋ํด ๋ฒ๊ทธ ๊ณ ์น ์ปค๋ฐ๋ง ์ฒด๋ฆฌํฝ ํด์ค๋ฉด ๋๋ค.
git cherry-pick ๊ฐ์ ธ์ค๊ณ ์ถ์์ปค๋ฐ์์ด๋โ
- (์์) ์ด๋ฏธ ์ถ์ํ ์ฝ๋๊ฐ ์๋ latest ๋ธ๋์น์ ์์ ํด์ผ ํ ๋ฒ๊ทธ๊ฐ ์์ด์ ๊ธํ๊ฒ main ๋ธ๋์น์์ fix/bug ๋ธ๋์น๋ฅผ ๋ฐ์ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ main ๋ธ๋์น์ ๋ณํฉ์์ผ๋์๋ค. latest ๋ธ๋์น์ ์ด๋ฅผ ๋ฐ์ํด์ผ ํ๋๋ฐ main์๋ ๋ค์์ ์ถ์ํ , ์์ง ๊ณต๊ฐํ๋ฉด ์๋๋ ๊ธฐ๋ฅ๋ค์ ์ปค๋ฐ์ด ์์ฌ ์๋ ์ํฉ. ์ด๋ latest ๋ธ๋์น๋ก ์ด๋ํด ๋ฒ๊ทธ ๊ณ ์น ์ปค๋ฐ๋ง ์ฒด๋ฆฌํฝ ํด์ค๋ฉด ๋๋ค.
- reset : ๊ณผ๊ฑฐ์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๊ณ ์ถ์ ๋ ์ฌ์ฉ. ํ์
ํ๋ ์๊ฒฉ ์ ์ฅ์์์๋ ์ ๋ ์ฌ์ฉํ๋ฉด ์๋๋ค.
- --soft : ํน์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๊ธฐ ์ ๊น์ง ์์ ํ staging area, working directory ์์ ์ ๋จ๊น -> resetํ ์ปค๋ฐ๊น์ง์ ์์ ๊ณผ resetํ๊ธฐ ์ ๊น์ง ํ ์์ ์ ํฉ์ณ ์๋ก์ด ๋ฒ์ ์ด๋ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋
- --mixed(๊ธฐ๋ณธ๊ฐ) : ํน์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๊ธฐ ์ ๊น์ง ์์ ํ working directory ์์ ์ ๋จ๊น -> ํน์ ์ปค๋ฐ ์ดํ๋ก ์์ ํ ๋ด์ฉ ์ค stage์ add ํ ๋ด์ฉ์ ์ถ๋ ค์ผ ํ ๋
- --hard : ๊ทธ๋ฅ ์น ๋ค ์ฌ๋ผ์ง. ์๋ฌด ๊ธฐ๋ก๋ ์ ๋จ์
- reset๊ณผ revert์ ์ฐจ์ด
git reset --mixed ์ง์ฐ๊ณ ์ถ์์ปค๋ฐ์์ด์ ์ปค๋ฐ์์ด๋
- amend : ์ปค๋ฐ์ ์์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ์ ์ฉํ PR ์์
- ์ฃผ์ ๋ณ๊ฒฝ์ฌํญ
- ๊ด๋ จ ์ด์ ๋ด์ฉ์ ์ ์ ์๋ ๋งํฌ๋ ์คํฌ๋ฆฐ์ท ์ด๋ฏธ์ง
- ์๊ธํ ์ ๋
- ์ค์ ์ ์ผ๋ก ๋ด์ฃผ์์ผ๋ฉด ํ๋ ๋ถ๋ถ
- Tip : PR์ ์ฝ์ ์ฌ๋์ ์๊ฐํด ์ฝ๋์ ๋ฌธ๋งฅ์ ์ดํดํ ์ ์๋๋ก ์ ๊ธฐ, ๋น์ฃผ์ผ์ ์ผ๋ก ๋ฐ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์คํฌ๋ฆฐ์ท ์ฌ๋ฆฌ๊ธฐ
- commit ๋ฉ์์ง Tip
- ์ ์ปค๋ฐ๋ฉ์์ง ํ ์ปค๋ฐํ๊ธฐ
- '์นด๋ ์ฐ๊ฒฐ์์ Redux ์ ๊ฑฐ'์ ๊ฐ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๋ฏธ๋ฆฌ ์ ๋ ฅํด๋๊ณ ๊ทธ์ ๋ง๋ ์ฝ๋๋ฅผ ์์ฑํด์ ์ปค๋ฐํ๋ฉด ๊น๋ํ๊ฒ ์ชผ๊ฐ์ ์ปค๋ฐํ ์ ์๋ค.
- ์ ์ปค๋ฐ๋ฉ์์ง ํ ์ปค๋ฐํ๊ธฐ
- ๋ธ๋์น ์ ๋ต Tip
- feat/๊ธฐ๋ฅ์ด๋ฆ : ๊ฐ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ปค๋ฐ์ ์ฌ๋ฆฌ๋ ๋ธ๋์น
- ์ ๋ํฌํ๊ฒ ์ง์ด์ผ ํจ
- main์ด๋ dev์ merge๋ ๋ค์์๋ ์ง์์ค์ผ ํจ
- main ํน์ dev : feat ๋ธ๋์น์์ ๊ฐ๋ฐ ์๋ฃ๋ ์ฝ๋๋ฅผ ํฉ์น ๋ธ๋์น
- merge๋ง ํด์ผ ํ๊ณ ์ง์ ์ปค๋ฐ์ ์ฌ๋ฆฌ๋ฉด ์ ๋๋ค
- release ํน์ latest : ์ค์ ์ถ์ํ ์ฝ๋(์ ์ ์๊ฒ ๊ณต๊ฐํ ์ฝ๋)๋ฅผ ์ฌ๋ฆฌ๋ ๋ธ๋์น
- hotfix : ๋น ๋ฅด๊ฒ ์์ ํ ๋ด์ฉ์ด ์์ ๋ ์ฌ์ฉํ๋ ๋ธ๋์น
- ์ฐธ๊ณ ํ๋ฉด ์ข์ ์ํฐํด : ์ฐ๋ฆฐ Git-flow๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ / [GitHub] Git ๋ธ๋์น์ ์ข ๋ฅ ๋ฐ ์ฌ์ฉ๋ฒ (5๊ฐ์ง)
- feat/๊ธฐ๋ฅ์ด๋ฆ : ๊ฐ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ปค๋ฐ์ ์ฌ๋ฆฌ๋ ๋ธ๋์น
- Q&A ์ค์์
- ์คํ์์ค๋ ์ฃผ๋ก forkํด์ PR์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก, ํ ํ์ ์ ๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ ๋ถ๊ธฐํด์ ์ง์ ์ปค๋ฐํ๊ณ PR์ ํตํด mergeํ๋ ๋ฐฉ์์ผ๋ก ์์ ํ๋ค.
- PR description์ ๋๋ฌด ๊ธธ์ด์ง๋ฉด ์ ๋ณด๊ฒ ๋๋ ์์ฝํด์ ์ฌ๋ฆฌ์. file change๊ฐ ๋ง์ผ๋ฉด ์๊ธฐ ์ฝ๋์ ์ฝ๋ฉํธ๋ฅผ ๋ค๋ ๋ฐฉ์์ผ๋ก ์ค๋ช ์ ๋ค๋ ๊ฒ ์ข๋ค.
- ํ PR ๋น file change๋ 5~7๊ฐ๊ฐ ์ ๋นํ๋ค.
- ์ฃผ๋ก vscode๋ฅผ ์ด์ฉํด ์ปค๋ฐํ๊ณ ์ถฉ๋ ํด๊ฒฐํ์ ๋ค๊ณ ํจ
- ์คํ์์ค ์ปจํธ๋ฆฌ๋ทฐ์ ๊ฒฝํ์ ๊ผญ ์์ผ๋ฉด ์ข๋ค. ๊ฐ๋ฐ ์ฌ์ ์ฌ๋ํ๊ฒ ๋๋ ์๊ฐ์ด ๋ ๊ฒ์ด๋ค.
- ํ๋ณต ํ๋ ฅ์ฑ์ด ์ข์ ์ฌ๋, ๋์ด์ ธ๋ ๊ธ๋ฐฉ ์ผ์ด๋ ์ ์๋ ์ฌ๋๊ณผ ํจ๊ป ์ผํ๊ณ ์ถ๋ค.
- ๊ธฐ์ ์ ์ผ๋ก ๊ฐ๋ฐ์๋ ๋ ๋ถ๋ฅ๋ก ๋๋ ์ ์๋ค.
- ํ ํฌ๋์ปฌ ์ค์ฌ์ ๊ฐ๋ฐ์ : ์ฝ๋ ํ๋ฆฌํฐ ์ค์ -> ํ๋ซํผ, ์ฝ์ด ์ฝ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ, ๋ฐฐํฌ ์์คํ ๊ฐ์ ์ ์ ํฉ
- ๋น์ฆ๋์ค ์ค์ฌ์ ๊ฐ๋ฐ์ : ๋๋ฌ์ด ์ฝ๋๋ผ๋ ๋น ๋ฅด๊ฒ ์ง๊ณ ๋ฐฐํฌํด์ ์ฌ์ฉ์ ๊ฒฝํ์ ํ์ธํ๋ ๊ฒ์ ์ฐ์ ์
- ๋ ์ค ๋ด๊ฐ ์ด๋ ์ฑํฅ์ธ์ง ํ์ ํด์ ๊ฐ์ ์ ๊ฐ๋ฐํ๋ ๊ฒ ์ข๋ค.
- ๋น ๋ฅด๊ฒ ๋ณํํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ์ฌ์ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ๊ธฐ ์ํด ๋
ธ๋ ฅํ๋ ๊ฒ
- ํ์ ๊ฐ๋ฐ์๋ค์ด๋ ์๊ธฐํ๋ค๊ฐ ์ ๋ชจ๋ฅด๋ ํค์๋๊ฐ ์์ผ๋ฉด ์ฐ์ inbox์ ์ ์ด๋
- https://kentcdodds.com/blog, https://ui.dev/ ๋ด์ค๋ ํฐ ๊ตฌ๋ ์ค
- ์คํ์์ค ์ปจํธ๋ฆฌ๋ทฐํฐ๊ฐ ๋๊ณ ์ถ๋ค๋ฉด ํ๋ซํผ ๊ฐ๋ฐ์ ๋ํ ์ญ๋์ ๊ฐ๋ฐํด์ผ ํ๋ค. ์ฌ๋ฌ ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํ ์ ์์ด์ผ ํ๊ณ ๊ฐ๋ฐํ ๋ ์ด๋ป๊ฒ ํ๋ฉด API๋ฅผ ์ฐ๊ธฐ ํธํ๊ฒ ์ค๊ณํ ์ ์์์ง ๋ฑ DX(developer experience)๋ฅผ ๊ณ ๋ฏผํด๋ณด๋ฉด ์ข์๋ฏ.
- ๋จธ์ง๋ฐฉ์ 3๊ฐ์ง(merge, squash, rebase)์ ๋ํ ์๊ธฐ -> squash์ rebase๋ ์์ปค๋ฐ์ ์ ๋ฆฌํ๊ณ ๊น๋ํ๊ฒ ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค. (git rebase ํ๋ ๋ฐฉ๋ฒ ์ฐธ๊ณ )
- ์ด์ ๊ด๋ฆฌ ํด์ JIRA์ Github issue, ์ด์ ํ๋์ PR ํ๋๋ฅผ ๋์์ํค๋ ๋ฐฉ์์ผ๋ก ์์ (PR์ ์ด์ ๋ฒํธ ์ ๊ธฐ)
๐ฏ ์ค๋ ๊ณต๋ถํ ๊ฒ
- [JavaScript] ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- [JavaScript] ๊ฐ์ฒด์งํฅ๊ณผ ํ๋กํ ํ์
- [โ] stringNumber[i] - "0"์ ์๋ฏธ / JavaScript์์ "3" - "1"์ ์ด๋ป๊ฒ 2๊ฐ ๋๋๊ฐ?
๐ ์๋ฃ ์ ์ฅ์
- ์น ๊ฐ๋ฐ์ ์ํด ๊ผญ ์์์ผํ๋ ๋ณด์ ๊ณต๊ฒฉ
- ์ ๊ทํํ์ ์ค์ต
๐ฎ Q-box
- SWR
- ์์คํ์ค
- git flow
๐ Reflection
- ์์ง๋ github push ํ ๋๋ง๋ค ssh agent ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ๋ชปํ๋ค. ์์คํธ๋ฆฌ๋ฅผ ์ค๋๋ง์ ์ผ๋ดค๋๋ฐ ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐํ๋ ค๋๊น putty ํ์ฅ์๋ก ๋ ssh key๋ฅผ ์๊ตฌํด์ ์ง์ฆ์ด ํ ๋ฌ๋ค. ๊ฒ์ํด๋ณด๋ generator๋ฅผ ๋ค์ด ๋ฐ์์ ๋ง๋ค์ด์ผ ํ๋๋ฐ... ๋ค๋ค ์ ๋ง ๊ทธ๋ ๊ฒ๊น์ง ํด์ ์ฐ๋ ๊ฑด์ง ๊ถ๊ธํ๋ค.
- ์ค๋ ํน๊ฐ ์ฐธ ์์ฐผ๋ค. ์ง๋ฌธ ์์ฒญ ๋ง์๋๋ฐ 10์ ๋ฐ์ด ๋๋๋ก ์ ๋ฆผ๋๊ป์ ๋ต๋ณํด์ฃผ์ ์ ๊ฐ๋์ ์ด์๋ค. ๊ถ๊ธํ๋ ๋ด์ฉ๋ค๋ ๋ง์ด ํด์๋๋ค. ์ด์ ๋ ์จ๋ณด๋ฉด์ ์ตํ๋ ์ผ๋ง ๋จ์ ๊ฒ ๊ฐ๋ค.
- ์ฒ์ ๋ฃ๋ ํค์๋๋ฅผ inbox์ ๋ฃ์ด ๋์ผ์ ๋ค๊ณ ํ ๊ฒ ์ธ์์ ์ด๋ผ์ ๋๋ TIL์ Q-box๋ผ๋ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ค. ๊ทธ๋ ๊ทธ๋ ๋ง๋ค ์ค๋ ์ฒ์ ๋ค์ ํค์๋๋ ๋ค์ด๋ ๋ดค์ง๋ง ์์ง ์ ๋ชจ๋ฅด๋ ํค์๋๋ฅผ ์ ์ ์์ ์ด๋ค.
- ์ด์ ๊ฐ์๋ฅผ ๋๋ฌด ํ๋ฃจ๋ฃฉ ๋ค์ ๊ฒ ๊ฐ์์ ์ค๋์ ์ข ๊ณฑ์น์ด๊ฐ๋ฉฐ ๊ฐ์๋ฅผ ๋ค์ผ๋ ค ํ๋ค. ๊ทธ๋ฌ์ stringNumber[i] - "0", ์ด ์ฝ๋ ํ ์ค์ด ๋ฌด์จ ์๋ฏธ์ธ์ง ๋๋ฌด ๊ถ๊ธํด์ ธ์ ์ฐพ์๋ณด๋ค๊ฐ ๊ฐ์๋ฅผ ๋ณ๋ก ๋ชป ๋ค์๋ค. ๋ง์ ์ข ๋ฃ๊ณ ์์ผํ ๊ฒ ๊ฐ๋ค.
- ํ๋ก๊ทธ๋๋จธ์ค ๊ตฟ์ฆ๋ฅผ ์ ๋ฌผํด์ค๋ค๋ ๊ธฐ์ ์์์ ๋ค์๋น! ์! ๋๋ ์ด์ ํ๋ก๊ทธ๋๋จธ์ค์ธ!
- ์ ๋ฆผ๋์ด ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋งค๋์ ์ธ ๊ฒ ๊ฐ๋ค๊ณ ํ๋๋ฐ ์์ ๊ณต๊ฐ์ด๋ค. ๋๋ ์ด ๊ณผ์ ์์ ๋ญ๊ฐ ์ ์ผ ์ข์๋๊ณ ๋ฌผ์ด๋ณด๋ฉด ๋งค๋์ ๋ผ๊ณ ๋ตํ ๊ฒ ๊ฐ๋ค.
- ํฐ์คํ ๋ฆฌ... ์ฝ๋๋ธ๋ญ.... ๋ถ๋ ๋ฆฌ์คํธ ๋ ์ด์์.... ๋์ฒด ๋ฌด์จ ์ผ์ด์ผ ใ
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 20210811 (3) | 2021.08.12 |
---|---|
[WIL] 20210808 1์ฃผ์ฐจ ํ๊ณ (2) | 2021.08.08 |
[TIL] 20210802 (2) | 2021.08.02 |
[TIL] 20210801 (0) | 2021.08.01 |
[TIL] 20210729 (3) | 2021.07.30 |