๊นํ๋ธ๋ฅผ ํ๋ก์ ํธ ์ ์ฅํ๋ ํด๋ผ์ฐ๋๋ก๋ง ์ผ๋ค๊ฐ ์ด์ ์ผ ์กฐ๊ธ์ด๋๋ง ์ดํดํ๋ ๊ณผ์ ์์ ์ ๋ฆฌํ ๊ธ
Git ๋ฒ์ ๊ด๋ฆฌ ์ง์ ์์คํ
Github Git ์ ์ฅ์ ํธ์คํ ์ ์ง์ํ๋ ์น ์๋น์ค
ํ ๋จ์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ฒ์ ๊ด๋ฆฌ ํด์ ์์จ๋ดค๋๋ผ๋ ์ฝ๋ ํ์๊ด๋ฆฌ๋ ๋๋ฆ๋๋ก ํด๋ดค๋๋ฐ, ๊ทธ ๊ท์ฐฎ์ ์ผ์ ๋ ๊ท์ฐฎ๊ฒ ๋์์ฃผ๋ ๊ฒ ๊น. ๊ทธ๋ฆฌ๊ณ ๋ฉ์ธ ์ ์ฅ์๋ฅผ ๋ฌด๋ฃ๋ก(!) ์ ๊ณตํด์ฃผ๋ ์น ์๋น์ค๊ฐ ๊นํ๋ธ.
์ ์๋ ์ด๋ฏธ ์๊ณ ์๋ค. ๋ฌธ์ ๋ ๋ช ๋ น์ด์ ์๋ฏธ์ ์ฌ์ฉ๋ฒ์ ์ ํํ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด์๋ค. ํผ์ ํ๋ก์ ํธํ๋ฉด์ ๊ธฐ๊ณ์ ์ผ๋ก commit์ pushํ๊ณ PRํ๋ฝ ํ๊ณ Mergeํ๋ ๊ฒ ๋ค์์. ๊ทธ๋ฐ ๊ด๊ณ๋ก ์ด ๊ธ๋ ๋ด๊ฐ ์ดํดํ ๋งํผ๋ง ์ ๋ฆฌํ ๊ฑฐ๋ผ ์ ํํ์ง ์์ ์ ์์.
๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ์ฃผ์ ํค์๋
Remote
๋ฉ์ธ ์ ์ฅ์. ๊นํ๋ธ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊นํ๋ธ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์๋ฏธํจ
Local
๋ด๊ฐ ์์ ํ ์ ์ฅ์. ์ฌ๋ฌ ๋ช ์ด ๋ฉ์ธ ์ ์ฅ์๋ฅผ ๊ฑด๋๋ฆฌ๋ฉด ์ฝ๋๊ฐ ์์ฅ์ฐฝ ๋์ด๋ฒ๋ฆฌ๋๊น ๊ฐ์ ๋ฉ์ธ์์ ์ฝ๋ ๋ฐ์๋ค๊ฐ ์์ ํ ๋ค ์์ ๋ฌผ์ ๋ค์ ๋ฉ์ธ์๋ค๊ฐ ํฉ์นจ
Clone
๋ค๋ฅธ ์ ์ฅ์๋ฅผ ํ์ฌ ์์ ๊ณต๊ฐ์๋ค๊ฐ ๋ฐ์์ค๋ ๊ณผ์ . ํ๋ก์ ํธ์ ์์์ ์ฌ๊ธฐ์๋ถํฐ๋ผ๊ณ ๋ณด๋ฉด ๋จ (๋ฉ์ธ ์ ์ฅ์๊ฐ ์ด๋ฏธ ์๋ค๋ฉด). Cloneํ ๋ค์๋ ๋ด ์ปค๋ฐ์ pushํ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด์ค๋ค.
Commit
๋ณ๊ฒฝ ์ด๋ ฅ. ์์ ๋ด์ญ
Pull
๋ค๋ฅธ ์ ์ฅ์์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ํ์ฌ ์ ์ฅ์์ ๊ฐ์ ธ์ค๋ ๊ณผ์ . (Clone์ ์ ์ฅ์๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฑฐ๊ณ , Pull์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๋ฐ์ํ๋ ๊ฒ) ๋ณ๊ฒฝ ์ด๋ ฅ์ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ฉด Fetch. ํ์ฌ ์ ์ฅ์์๋ค๊ฐ ํฉ์น๋ฉด Merge
Push
Local์ commit์ Remote์ ๋ณด๋ด๋ ๊ณผ์
PR (Pull Request)
์ด๋ฆ ํท๊ฐ๋ ค์ ์ฒ์์ ์ดํด ๋ชปํ ํค์๋. ๋ด๊ฐ pushํ ๋ ๋ณด๋ด๋๋ฐ ์ pull req๋ผ๊ณ ํด์?? ๋ฉ์ธ ๋ธ๋์น๊ฐ ์๋ ๋ค๋ฅธ ๋ธ๋์น์์ "์ ์ปค๋ฐ์ Pull ํด์ฃผ์ธ์" ๋ผ๊ณ ๋ฉ์ธ์๊ฒ ์์ฒญํ๋ ๊ฒ์ PR์ด๋ผ๊ณ ํ๋ค.
๋ธ๋์น Branch
๊ฐ๋ ์ ์์์ Local ์ค๋ช ํ ๋ ํ๋ ๊ฑฐ๋ ๋น์ทํ๋ค. ๋ฉ์ธ์์ ๊ฐ์ ๋งก์ ๋ถ๋ถ์ ๊ฑด๋๋ฆฌ๊ฑฐ๋ ํ ์คํธํ ๋ ์๋ก์๊ฒ ์ํฅ์ ๋ฏธ์น์ง ์๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ฐฉ์. (๋ฌผ๋ก ๋์ค์ ํตํฉ๋ ๊ฐ๋ฅํด์ผ ํ๊ณ .) ๋ธ๋์น ์์ฒด๋ ๋ฉ์ธ ์ ์ฅ์์ ๋ณต์ฌ๋ณธ๊ณผ ๊ทธ๊ณณ์์ ์๊ธด ์ปค๋ฐ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋จ์? ๋ผ๊ณ ์๊ฐํจ. ๋ธ๋์น๋ ๊ธฐ๋ฅ๋ณ๋ก ๋ง๋ค๊ธฐ๋ ํ๊ณ ๋ก์ปฌ๋ณ๋ก ๋ง๋ค๊ธฐ๋ ํ๊ณ ...
๋ณดํต Git ์ฌ์ฉํ๋ค๊ณ ํ ๋ ๊ฐ์ฅ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ด ๋ธ๋์น ์ถฉ๋์ด๋ค. ์ ์ด๋ ๋ด๊ฐ ๊ฒฝํํ ๋๋ถ๋ถ์ ๋ฌธ์ ๋ ์ด๊ฑฐ์๋ค.
1. (Remote๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ) Remote Repo๊ฐ ๋ฉ์ธ์ด๋ฏ๋ก ํ๋ก์ ํธ ์์ ์ ๋ฐ๋์ Local์ Remote Repo Clone๋ถํฐ ํ๊ธฐ. ์์ฃผ ๊ธฐ์ด์ ์ธ ๋ถ๋ถ์ธ๋ฐ ์ต๊ทผ๊น์ง๋ ๋ชจ๋ฅด๊ณ ์์๋ค.
2. Local ๋ธ๋์น์์ Remote ๋ธ๋์น๋ก Pushํ๊ธฐ ์ ์๋ ๊ผญ Remote์ ๋ณ๊ฒฝ ์ด๋ ฅ์ด ์๋์ง ํ์ธํ๊ณ Local ๋ฐ์ํด์ค์ผ ํ๋ค. ๊ทธ๋์ผ Local์ commit์ Mergeํ ์ ์์ผ๋๊น! Remote๋ก๋ถํฐ Pull (๋๋ Fetch&Merge) ํ ๋ค Pushํ๊ธฐ
3. ๋ง์ฝ 2๋ฅผ ์ํํ๋ ์ค, Remote์ ๋ณ๊ฒฝ ๋ด์ญ๊ณผ Local์ ๋ณ๊ฒฝ๋ด์ญ์ด ๊ฐ์ ํ์์ ์ผ์ด๋ฌ๋ค๋ฉด Merge๊ฐ ์ํ๋์ง ์๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ํด๋น ๋ถ๋ถ์ ์ด๋ป๊ฒ ํต์ผํ ๊ฒ์ธ์ง ํฉ์ํ ๋ค ์ฒ๋ฆฌํด์ผ ํจ.
ํฌํฌ Fork
์ ๋์ค ํ๋ก๊ทธ๋๋ฐ ๋ฐฐ์ธ ๋ ๋ดค๋ ํค์๋์ด๋ค. ๋ถ๋ชจ ํ๋ก์ธ์ค์์ ์์ ์ ๋ณต์ ํ ์์ ํ๋ก์ธ์ค๋ฅผ ํธ์ถํ๋ ์์คํ ํธ์ถ์ธ๋ฐ ์๋ง ๋น์ทํ ์๋ฏธ์ผ ๊ฑฐ๋ผ ์๊ฐํจ.
์ฝ๊ฒ ๋งํด ๊ณต๊ฐ ํ๋ก์ ํธ ์ ์ฅ์์์ Cloneํ๋ ๊ฒ์ Fork๋ผ๊ณ ํ๋ค.
์์งํ ๊ณต๊ฐ ํ๋ก์ ํธ์ ๊ธฐ์ฌํด๋ณธ ์ ์ด ์์ด์ ๊ฒฝํ์ ๋ชปํด๋ณธ ๋ถ๋ถ์ด๋ค. ์ข ๋ ๊ณต๋ถํด๋ด์ผ ํจ
TIP
commit message ์์ฑ๋ฒ
์ปค๋ฐ ์์ฝ
// ํ ์ค ๋๊ณ
์์ธํ ์ค๋ช
ํ์ฌํ, ๋ช ๋ นํ ํํ์ ์ฌ์ฉํ์
added > add
updated > update
๊ทธ์ธ
๋ธ๋์น์ ๋ณํฉ ๊ด๋ฆฌ ๋ฐฉ๋ฒ: rebase์ cherry-picker
Merge: fast-forward and non-fast-forward
์ด์์ ์ธ ๋ธ๋์น ์ด์ฉ ๋ชจ๋ธ
- REF -
Git - ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ
์ฑ ์ฒ๋ผ ํ์ง๋ง๊ณ , ์ํค๋ ๋๋ก ํ๊ธฐ. ์๊ฐ ๊ด๊ณ์, ์ด ์ฑ ์์ ์ค๋ช ํ๋ ์์ ์ ์ปค๋ฐ ๋ฉ์์ง๋ ์์ ๊ฐ์ด ์์ฃผ ๋ฉ์ง๊ฒ ์ฐ์ง ์์๋ค. git commit ๋ช ๋ น์์ -m ์ต์ ์ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ์ ๋๋ค. ํ์ง
git-scm.com
๋๊ตฌ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ Git ์ ๋ฌธ~๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๋ฒฝํ๊ฒ ์ด์ฉํด๋ณด์~ | Backlog
๋๊ตฌ๋ ์ฝ๊ฒ ์ ์ ์๋ Git์ ์ ๋ฌธํ์ ๊ฒ์ ํ์ํฉ๋๋ค. Git์ ์ฌ์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋๋ก ํจ๊ป ๊ณต๋ถํด๋ด ์๋ค!
backlog.com
'๐ ํ์ต๊ณผ ๊ฐ๋ฐ ๊ธฐ๋ก > ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git Stash (0) | 2022.03.02 |
---|---|
MySQL Workbench์์ Server Status๋ฅผ ํ์ธํ ์ ์๋ ๊ฒฝ์ฐ (0) | 2022.01.16 |
Git: remote ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ์ค์ ๋ฐ ์ฌ์ฉ (0) | 2021.08.23 |
๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด (0) | 2021.08.05 |