.png)
- ๐๏ธ
Git์ ๊ฐ๋ ๊ณผ ํ์์ฑ๊ณผGit & GitHub์ ์ฐจ์ด์ ๋ํด์ ์ธ์งํ๋ฉฐ
๐๏ธํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ๊ธฐ๋ณธ์ ์ธ Git ์ฌ์ฉ๋ฒ๊ณผ ๐๏ธGitHub๋ฅผ ์ฌ์ฉํ ๊ฐ๋ฐ ํ์ ๊น์ง ์์๋ณด์.
-keynote
-WHAT ISโ
โGIT์ด๋VERSTION ๊ด๋ฆฌ ์์คํ
์ด๋ค
-์ฝ๋์ ๋ฒ์ ผ์ ๊ด๋ฆฌํด์ผํ๋ ์ด์ ๋ ์ ์ฅ, ์ฆ `๋ฐฑ์ `์ ํด๋๊ธฐ ์ํด ํ์ํ๋ค.
- ์์ ํ ๋ ๋ง๋ค ํ์ผ์ ์์ฑํ๋ฉด ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค.
- ์ธ์ ๊ฐ ์ด์ ์ฝ๋๋ก ๋์๊ฐ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ์์ ์ ์์ ์ ๋ํ ์ด๋ ฅ์ ๋จ๊ธธ ์ ์๋ค.
- ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋๊ณ ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค ํ์ ํ ์ ์๋ ํ๊ฒฝ์ ๋ง๋ จํ๊ธฐ ์ํด์
git --version, ๊น ์ค์นํ ๋ฒ์ ผ ํ์ธํ๋ ๋ช ๋ น์ด
git config --global user.name "์ด๋ฆ"
git config --global user.email "์ด๋ฉ์ผ", ๊น์ ๋ณธ์ธ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๊ธฐ ์ํ ๋ช ๋ น์ด
Git repository๋ Git์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ ์ ์ฅ์์ด๋ค. (์ฝ๊ฒ ๋งํด ํด๋ ๊ฐ๋ !)Git repository์ ๋ ๊ฐ์ง ์ข ๋ฅ
Local repository- ๋์ ์ปดํจํฐ์ ์ ์ฅ๋ ๋ก์ปฌ ๋ฒ์ ์ ํ๋ก์ ํธ ์ ์ฅ์Remote repository- ๋ก์ปฌ repository์ ๋ฐ๋์ธ ๋ด๋ถ๊ฐ ์๋ ์ธ๋ถ (์ผ๋ฐ์ ์ผ๋ก ์๊ฒฉ ์๋ฒ) ๋ฒ์ ์ ํ๋ก์ ํธ ์ ์ฅ์- ํ๊ณผ ํ์ ํ์ฌ ์์ ํ ๋ ์ด ๊ณณ์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๊ณต์ ๋ฐ ํ์ธํ๋ฉฐ ๋ก์ปฌ ๋ฒ์ ์ ํ๋ก์ ํธ์ ๋ณํฉ์ ํตํด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉ ํ ์๋ ์๋ค.
-WHAT ISโ
๐GitHub์ด๋โGit์ ์ฌ์ฉํ ํ๋ก์ ํธ๋ค์ ์ ์ฅ์๋ฅผ ๋งํ๋ค.- ๋ค๋ฅธ ์๋ฏธ๋ก๋ ๊ฐ๋ฐ์๋ค์ Social network service์ด๋ค.
=> ์ฆโGit์ ํ๋ก์ ํธ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ๋ ์์คํ ์ด๊ณGitHub๋โGit์ ์ด์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ํ๋ก์ ํธ๋ค์ ๊ด๋ฆฌํ๊ฒ ํด์ฃผ๋ ํธ์คํ ์๋น์ค์ด๋ค.
Git & GitHub ๊ด๊ณ>
- ๋ฐ๋ผ์
Git์ด๋ผ๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก ๊ด๋ฆฌํ ์ฝ๋, ํ๋ก์ ํธ๋ค์ ๋ชจ์๋๋ ๊ณณ ๋ฐ๋กGitHub์ด๋ค.
Git์ CLI๋ก ๋ค๋ฃจ๋ ๊ฑด ๊ฐ์ฅ ์ค์ํ๊ณ , ๊ธฐ๋ณธ์ ์ธ ๋ช
๋ น์ด๋ค์ด๋ค. ๋ง์ด ์ฌ์ฉํ์ฌ ์ต์ํด์ง์.

Local์ ์ฐ๋ฆฌ์ Laptop์ ์๋ฏธ, Remote๋ Github๋ฅผ ์๋ฏธํ๋ค.
์ ์ด๋ฏธ์ง๋ Local์์ Remote๋ก Pushํ๋ Flow๋ฅผ ๋ณด์ฌ์ค๋ค.
git & github์ ์ด์ฉํด์ผํ๋ค.
- git ์์์ ์ํ ๋ช ๋ น์ด
git init: ๊น์ ์์, ๋ ํฌ์งํฐ๋ฆฌ๋ฅผ ๋ง๋ ๋ค.
(Git์ ์จ๊ฒจ์ง .git ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํด ํ์ฌ ์ ์ฅ์์ ๋ํ ๋ณ๊ฒฝ์ฌํญ ์ถ์ /๊ด๋ฆฌํ๋ ๊ตฌ์กฐ)
- git ์ํ ํ์ธ์ ์ํ ๋ช ๋ น์ด :
git status, ์ด๋ค ํ์ผ์ด ๋ณ๊ฒฝ๋์๋์ง, ์ด๋ค ํ์ผ์ด ์ถ๊ฐ๋์๋์ง ๋ณด์ฌ์ค๋ค.
- ํ์ผ ์์ ์ด๋ ฅ ๊ธฐ๋ก์ ์ค๋นํ๊ธฐ ์ํ ๋ช ๋ น์ด :
git add .
(ํ๋ก์ ํธ ํด๋ ๋ด์ ๋ชจ๋ ํ์ผ๊ณผ ํด๋๋ฅผstaging area์ ์ถ๊ฐํ๊ณ ์ปค๋ฐ์ ๋จ๊ธธ ์ ์๊ฒ ์ค๋นํด์ค๋ค.)
- ํ์ผ ์์ ์ด๋ ฅ์ ์ค์ ๋ก ๊ธฐ๋กํ๋ ๋ช ๋ น์ด :
git commit -m "mesaage"
(์ปค๋ฐ์ ํน์ ์๊ฐ์ ์ฝ๋ ์ค๋ ์ท์ ํํ๋ก ํด๋น repository์ ์ปค๋ฐ ๊ธฐ๋ก์ ๋จ๊ฒจgit add๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ์ผ์ staging area์ ์ถ๊ฐํ๋ฉด commit ๊ฐ๋ฅํ๋ค.)
- ๋ก์ปฌ repository๋ฅผ GitHub repository ์ ์ฐ๊ฒฐํด์ฃผ๋ ๋ช ๋ น์ด :
git remote add origin https://github.com/<your-username>/<your-repo-name>.git
(๋ก์ปฌ Git repository์๊ฒ ์ด๋ฆ์ด origin ์ด๋ผ๋ ์ด๋ค URL์ ์๋ ค์ฃผ๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฆฌ)
- ๋ก์ปฌ Git repository์ ์ฝ๋๋ฅผ GitHub repository ๋ก ์ ๋ก๋ ํด์ฃผ๋ ๋ช ๋ น์ด :
git push๋ช ๋ น์ด- 7(3~5). Local ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธฐ๋ฉด Local์์ ์์ ํ ๋ด์ฉ์ Remote์ ๋ฐ์ํ๊ธฐ ์ํด
- ๋ค์
git add .ํ์git commit -m "Add:์์ ์ฌํญ์ผ๋ก ์์ ๋จ์๋ฅผ ๋๋ ์ค ๋คgit push origin master๋ฅผ ํด์ค์ผ Local repo๋ฅผ GitHub repo๋กpush๋์ด ์ ๋ฐ์ดํธ๋๋ค.
git log : ์์ฑ์, hash ๊ฐ, ๋ ์ง์ ์๊ฐ, ๊ทธ๋ฆฌ๊ณ ์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ๋ณด์ฌ์ค๋ค.git checkout <commit-hash> : <commit-hash>์์ git log์ ๋ณด์ด๋ ์ปค๋ฐ์ ์ค์ hash ๊ฐ์ผ๋ก ๋์ฒดํด์ฃผ๋ฉด ์ปค๋ฐ ์์ ์ผ๋ก ์ฝ๋๋ฅผ ๋๋๋ฆฐ๋ค..gitignore (ํ์ผ์ ํ๋ก์ ํธ ํด๋์ ์์ฑํ๊ณ .gitignore ํ์ผ ์์, ํด๋นํ๋ ํ์ผ๋ช
๊ณผ ํด๋๋ช
์ ๋์ดํ๋ฉด ๋ฉ๋๋ค. 2๊ฐ์ ๊ณต๊ฐ์ด ์กด์ฌํ๋๋ฐ(staging area์ repository) add์ commit ๋ช
๋ น์ด๋ฅผ ๊ตฌ๋ถํด์ ์ฌ์ฉํดํด์ผ ํ๋ค.add ๋ช
๋ น์ด์ commit ๋ช
๋ น์ด
- ์ด๋ ๋งํ๋ ์์ ๋ด์ญ ์ฆ, ์์ ์ ๋จ์๋ฅผ ๐ก
commit์ด๋ผ๊ณ ํ๋ค.- ๐ข
add ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๐กcommit์ ํ๊ธฐ ์ํ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง๋ค.๐ขadd ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณต๊ฐ์ ํ ๊ณณ์ผ๋ก ๋ชจ์์์ ์ ์ฅ์๊ฐ์ ๊ณต๊ฐ์ ๋ง๋ค์ด์ง๋ค.- => ์ด๋ฅผ ์์ ๋จ์๋ก ๋ชจ์ผ๊ธฐ ์ํด์ ๋ก๊ทธ์ธ ์์ ์ ํ ์ฝ๋๋ค์ ํ๋์
๐กcommit๋จ์๋ฅผ ์ฌ์ฉํ์ฌ, ์ฆ ๋ช ๋ น์ด๋ก ์ด๋ฆ์ ๋ถ์ฌ ๋ชจ์ฌ์ฃผ๊ฒ ๋ง๋ค์ด์ค๋ค.
์ด๋ ๐กcommit์ ํ๋ฉด์ ์์ ๋จ์๋ฅผ ์ค๋ช ํ๋ ๋ฉ์ธ์ง๋ฅผ ํจ๊ป ์ ์ด์ค ์ ์๋ค.
์ฐธ๊ณ โจ)
- ์์ ํ๊ณ
status๋ช ๋ น์ด๋ฅผ ์จ๋ ๐กcommit์ ์ํ ๋ด์ฉ์Git์ ๋ค์ด๊ฐ์ง ์๋๋ค๋ ์ฌ์ค
<๊ณผ์ ์์ฝ>

- 1.
git init= ํด๋๋ฅผgit์ผ๋ก ๊ด๋ฆฌํ๊ฒ ๋ค๋ ๋ช ๋ น์ด
git add .=commitํ๊ธฐ ์ ์ค๋น๋จ๊ณ์ ๊ณต๊ฐ์ ๋ง๋ค์ด์ฃผ๋ ๋ช ๋ น์ด
git add .์ dot์ ํ์ฌํด๋์์์๋ ์ ๋ถ๋ฅผ ์๋ฏธ.
commit= ํ๋์ ์์ ๋จ์(๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ์ด์ง ๋ฑ์ ์์ ๋ด์ญ)๊ฐcommit.
- โ
git add&commit
add๋ช ๋ น์ด๋commit์ ํ๊ธฐ ์ํ ์ค๋น ๋จ๊ณ์ ๋ช ๋ น์ดcommit๋ช ๋ น์ด์๋ ๋ฉ์ธ์ง(= ์ด๋ค ์์ ๋ด์ญ์ด ์ถ๊ฐ๋๊ณ ์ญ์ ๋์๋์ง ๋ฑ ๋ค๋ฅธ ์ฌ๋ํํ ์๋ ค์ฃผ๋ ๋ด์ฉ์ด ํฌํจ)๊ฐ ํฌํจ- ๋ณดํต ์ด ๋ฉ์ธ์ง์ ํ์์ ํ์ฌ์ convention์ ๋ฐ๋ฅธ๋ค.
- 4.
git status= ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ช ๋ น์ด์ด๋ค
TIP_ONE๐ฅ)
- ํ์ผ ์์
commit์ค๊ฐ์statusํ๋ ์ต๊ด์ ๊ฐ์ ธ ํ์ธํ๋ฉฐ ์งํํ์.
TIP_TWO๐ฅ)commitํ ๋ด์ญ์ ๋ณผ๋ ค๋ฉดgit log๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉดcommitID๊ฐ ๋์ ์ด ID๋ฅผ ํตํด ๋์๊ฐ ์ ์๊ณ qํค๋ฅผ ๋๋ฅด๋ฉด log ํ๋ฉด์์ ๋๊ฐ๋ค.
Local => 2>Remote, ์ฆ ๋์ ๋ฉํ์์ github๋ก์ ๋ฐฉํฅ์ผ๋ก ์งํํ ๊ณผ์ ์ผ๋ก
- 4๋ฒ ๊น์ง ๋ง์น ํ ๊น ํ๋ธ ์ฌ์ดํธ์ ๋ค์ด๊ฐ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ์์ฑ(public์ ๋ชจ๋์๊ฒ ๊ณต๊ฐ)ํ๋ค.
remote orginal ์ฃผ์url๋ช ๋ น์ด, ํตํด ๋์ git ํด๋๋ฅผ ์ด๋์ ๋ณด๋ผ์ง๋ฅผ URL ์ฃผ์ ํ์์ผ๋ก ์ ์ฅ์ ์ฃผ์๋ฅผ ์ ์ด ์ฐ๊ฒฐํด์ค๋ค.- ๋์ ์ ์ฅ์๊ฐ remote ์์ญ์ ๊นํ๋ธ์ ์ ์ฐ๊ฒฐ๋์๋์ง ํ์ธํ๊ธฐ ์ํ ๋ช ๋ น์ด
git remote -v- ๋์ ํด๋๋ฅผ ์ ์ฅ์์ ์ฐ๊ฒฐํ ํ ๋์ ํด๋๋ฅผ ์ ์ฅ์์ ์ฌ๋ ค์ค ์ ์๋
git push๋ช ๋ น์ด๊น์ง
Local -> Remote๋ก์ Flow์ด๋ค.
'
Git init, 2>git add, 3>git commit Local์์ ์๋ฃ ๋น ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ๋น์ด์๋ ๊ณณ์๋ค ๋ฃ๋ ๊ฑด ์ฌ์ด ํธ์ด๋ค.Remote์์ Local๋ก Flow์ ๊ฐ์ ธ๊ฐ์ผํ๋ค.-WHAT ISโ
Remote์์ Local์ Flow๋ ๊น ํ๋ธ ์์ ์กด์ฌํ๋ ์ ์ฅ์์ ๋ฌด์ธ๊ฐ๊ฐ(๋ณดํต ํ์ฌ์ ์ ์ฅ์) ๋ค์ด๊ฐ ์๊ณ STEP1์ Local์์ ๋ง๋ ๋์ ์ ์ฅ์, ์ฆ Local ๋ ํผ์งํ ๋ฆฌ๋ก ๊ฐ์ ธ์ค๋ ํ๋ฆ์ ๊ฐ์ง๋ค.
- ์ด ๊ณผ์ ์
Git clone์ด๋ผ๊ณ ํ๋ค.
- ์ด๋ STEP1 ๊ณผ์ ๊ณผ ๋ค๋ฅธ ๊ฑด ๊ตณ์ด ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐ์ ํ ํ์๊ฐ ์์ด์ง๋ค๋ ์ ์ผ๋ก, Git ํด๋์ ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํ๋ remote ๊ณผ์ ์ด ์์ด๋ ๋๋ค.
branch๊ฐ default๋ก master(ํ์ฌ main ๋ฐ๋์๊ณ )๋ก ์ด ์ ์ฅ์ ํ๋์ ๋ชจ๋์ git ํด๋๋ฅผ ๋ชจ์ ์ ์๋ค.
push๋ฅผ ํ๋ฉด ์์
๊ณต๊ฐ์ด ๊ฒน์น๊ฒ๋์ด ์ถฉ๋์ด ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ๋ฐ๋ผ์ ์ด๋ค ์์
์ด๋ ํญ์ ์์
๋ด์ญ์ ๋๋๊ณ ์งํํด์ผํ๋ค
-WHAT ISโ
- ์ด๋ ๊ฒ ์์ ๊ณผ์ ์ ๋๋๊ธฐ ์ํด
branch๋ฅผ ์์ฑํ์ฌ ๋๋๋ค.
-branch๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ด๋ค ์์ ์ ์งํํ๊ธฐ ์ํ ๊ฐ๋ ์ผ๋ก ํ์์ ์ํด ๋ง๋ค์ด์ง๋ ๊ฐ๊ฐ์branch๋ ๋ค๋ฅธbranch์ ์ํฅ์ ๋ฐ์ง ์๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ ์์ ์ ๋์์ ์งํํ๋ ๋ฐ ์ฉ์ดํ๋ค.
branch์์ฒด๋ฅผ ๋๋ ์ ์์ฑํ๋๋ฐ ์ ์ด๋ฏธ์ง์git branch feature/login๊ณผ ๊ฐ์ด ์์ ๋ด์ญ์ ๋๋๊ธฐ ์ํด 1>branch์์ฒด๋ฅผ ๋ง๋ค์ด์ ์์ ๊ณผ์ ์ ๋๋๊ณ 2>๋ง๋branch์ ์์ ๊ณต๊ฐ(master branch์์ ๋ค๋ฅธ branch๋ก)์ผ๋ก ์ด๋์์ผ์ผํ๋ค.
๐โโ๏ธ ์๋๋ฉด
master branch๋ ์ ์ ์๊ฒ ๋ณด์ฌ์ง๋ ์ต์ข ์ ์ธbranch๋ค ๋ณดํต ๋ค์ด๊ฐ๋ค.
=> ๋ฐ๋ผ์ ๋ง์คํฐ(๋ฉ์ธ)์ ์ฝ๋๊ฐ ๋ค์ด๊ฐ๊ธฐ์์๋ refactoring์ด ๋ ๊น๋ํ ์ฝ๋๋ค'๋ง'์ด ๋ค์ด๊ฐ๋ค!
git clone์ ํตํด ํ์ฌ์ ์ฝ๋๋ฅผ ๋ฐ์์จ๋ค.git clone์ ์ต์ด์ ๋ ํผ์งํ ๋ฆฌ์์ ์์ ์ ํ ๋๋ง ํด์ค๋ค. ํด๋ก ํ ์ฃผ์๋ ๊นํ๋ธ์์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ธฐํ๋ค
- ํญ์
git branch feature/login(branchName),branch๋ฅผ ๋ง๋๋ ๊ฑธ๋ก ์์ํ๋ค.
- TIP1๐ก)
branch์์ฑ๊ณผ ๋์์ ์์ฑ๋branch๋ก ์ด๋ํ๋ ๋ช ๋ น์ดgit checkout -b <new-branch-name>๋ก ๊ธฐ์กด checkout ๋ช ๋ น์ด์ -b, flag๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.- TIP2๐ก) ํ๋ก์ ํธ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ธ๋์น๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด๋
git branch- TIP3๐ก) ๋ธ๋์น๋ฅผ ์ญ์ ํ ์ ์๋ ๋ช ๋ น์ด
git branch -d <branch-name>(์ฌ์ฉ ์ ์ฃผ์)
branch๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ํด์ ์์ ํ๊ธฐ ์ํ ํด๋๋ก ์ด๋ ํgit cheack feature/login์ ํด์ค๋ค.
- ์ด๋์ ๋ง์น๊ณ ์์ ํ ๋ด์ฉ๋ค์
git add,commitํด์ค ๋คgit push๋ฅผ ํด์ฃผ๋ฉด ์์ฑํfeature/loginbranch๊ฐ ๊นํ๋ธ์ ์๊ฒจ๋๋ค.
Local์์ ์์ฑํbranch์feature/login์์ ์์ ํ ์ฝ๋๋ฅผPushํ๋ฉดRemote์์ญ์ Githubmaster branch์ ๋ด๊ฐ ์์ ํ ๋ด์ฉ์ด ๋ค์ด๊ฐ ์๊ฒ๋๋ค.
commitํ์ฌRemote์์ญ์ผ๋กpushํ ์ฝ๋๋ฅผmaster branch๋ก ๋ณด๋ด์ฃผ๋ ์์ ์pull request/PR**์ด๋ผ ๋ถ๋ฅธ๋ค.
- ์ด๋๋ ๋ณดํต
PR template,(ํ์ฌ์ ์ปจ๋ฒค์ ๋ฐ๋ฅธ๋ค.)๋ฅผ ์์ฑํ์ฌ ๋ณธ์ธ์ ์์ฒญ์ฌํญ์ด๋ ๋ด์ฉ์ ํจ๊ป ์ ์ด์ ๋ณด๋ด์ค๋ค.
Local์์ญ์branch์์ ์์ ํ ๋ด์ฉ์ Github์master branch์ ์ ์ฉํ๊ณ ์ถ์ ๋, ์ฆbranch A์branchB ๋ฅผ ๋ณํฉํ ์ ์์ดmarge๋ช ๋ น์ด๋ฅผ ํตํด ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ์์ฑํfeature login,branch๊ฐ ํ์ฌ์ master branch์ ํฉ์ณ์ง๋ค.
- 5_1> ํน์
branch์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์๋ฒฝํ ๊ตฌํ ํ ํ ์คํธ๊น์ง ์๋ฃํ ์์ ์์ ๊ธฐ์ค์ด ๋๋master branch์ ๊ตฌํ๋ด์ฉ์ ์ ์ฉ์ํค ์ํด์merge๋ช ๋ น์ด๋ก ํฉ์ณ์ค๋ค.- 5_2> ์ด๋ ๊ฒ ๋ฆฌ๋ทฐ ๋ด์ฉ์ด ๋ฐ์๋ ํ master branch์ ์ถฉ๋์ด ๋ฐ์ํ์ง ์์๋ค๋ฉด, PRํ master branch๋ก mergeํ ์ค๋น๊ฐ ์๋ฃ๋ ๊ฒ์ด๋ค.
- ์ฝ๋๊ฐ ์ ๋ฐ์ดํธ ๋์๋ ์ํฉ์ด
Remote์์๋ง ์งํ๋ ์ํ๋กLocal์์ญ์ master branch์๋ ์ ๋ฐ์ดํธ๋ฅผ ํด์ค์ผํ๋ค.
git pull origin master๋ช ๋ น์ด์ ํตํด ์ ๋ฐ์ดํธ๋Remote ์์ญmaster branch๋ฅผ ๋์Local ์์ญ์master branch๋ก ์ด๋์ํจ๋ค.
git pull๋ช ๋ น์ด๋ฅผ ์ฐ๋ฉด Github์ ์๋master branch๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ ์ด ์์ ๋ถํฐ ์ ๋ฐ์ดํธ ๋ ์์ ๋ด์ญ์ ์ ์ ์๋ค,- ์ฆ
git pull์ ๊ฑฐ์ณ์ผLocal ์์ญ, ๋์ ๋ ธํธ๋ถ์ ์กด์ฌํ๋ Local์์ญ์master branch์๋ ์ ๋ฐ์ดํธ๋ ๋ด์ฉ์ ์ ์ ์๋ค.
๐์ฃผ์๐)์ค์๊ฐ ๋ง์ด ๋ฐ์ํ๋ ๋ถ๋ถ
- ๊ธฐ์กด์
branch,feature/login์์ ์๋ก์ดbranch๋ฅผ ๋ ํ๊ฒ๋๋ฉด(์์ฑํ๋ฉด) ๊น์ ํํ์branch๊ตฌ์กฐ๊ฐ ๋ง๋ค์ด์ ธ์ข์ง ์๋ค.- ๋ฉ์ธ ์ค๊ธฐ์์
branch์ ๊ฐ์ง๊ฐ ํ๋์ฉ๋ง ๋์ค๋ ํํ๊ฐ ๊ฐ์ฅ ์ข๊ธฐ๋๋ฌธ์ ๋ธ๋์น๋ ํ ๋ฒ๋ง ํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ค.
- ์๋ก์
branch๊ฐ ๊ฒน์น๋ฉด ์ถฉ๋์ด ๋ฐ์ํ๋ ์กฐ์ฌํด์ผํ๋ค.
<์์ฝ>
1.
git clone <Url์ฃผ์>, ๊นํ๋ธ ๋ ํผ์งํ ๋ฆฌ๊ฐ ์์ด ๊ทธ ์ ์ฅ์์ ์ฃผ์๊ฐ ๋ณต์ฌํด์ ํด๋ก ํ์ฌ ๊ฐ์ ธ์จ๋ค.
2. cd ๋ช ๋ น์ด๋ก ์์ ํ์ฌbranch๋ฅผ ์์ฑํ ํด๋๋ก ์ด๋ํ๋ค
3. pwd๋ก ๊ฒฝ๋ก ํ์ ํgit branch <new-branch-name>๋ช ๋ น์ด๋ฅผ ํตํด ์์ ๋ถ๋ฆฌ๋ฅผ ์ํbranch๋ฅผ ๋ง๋ค์ด์ค๋ค.
4.git checkout <branch-name>๋ช ๋ น์ด๋ฅผ ํตํด ์์ฑํbranch๋ฅผ ์์ ํ ํด๋๋ก ์ด๋์ํค๋ฉด termianl ์ฐฝ ์์ ๋์ ์์ ๋จ์๊ฐ main์์ ์์ฑํ ๋ธ๋์น ๋ช ์ผ๋ก ๋ฐ๋๋ค.
- ์ฃผ์๐)
Remote => Local Flow์์
- git initํ ํ์ โ
- remote๋ ํ ํ์ โ
git add .>commit -m "Add: ์์ ", ์์ ํ ๋ธ๋์น๋ฅผ git add ํ์ commit ๋จ์๋ก ๋๋ ์ค๋ค.git pushํ์ฌ Remote`์์ญ์ผ๋กbranch์์ ์์ ํ ์์ ํ ๋ด์ญ์ ์ฌ๋ ค์ฃผ๋ฉด ๊นํ ์ฌ์ดํธ์` pull repositort**๋ ๋ฒํผ์ด ์๊ธฐ๊ณ ํด๋ฆญํ์ฌ ํด๋น ๋งํฌ๋ก ์ด๋ํ๋ค.- ์ต์ ๋ค์ ์ค์ ํ๊ณ ๋์ ์ต์ข ์ ์ผ๋ก
PR์ ๋ ๋ ค์ค๋ค.
- ์ง๊ธ๊น์ง ์ดํด๋ณธ ๊ณผ์ ์ ๋ช ๋ น์ด์ ํจ๊ป ์ต์ํด์ง ๋๊น์ง ์ฌ์ฉํด ๋๊ตฐ๊ฐ์ ์ค๋ช ํ ์ ๋์ ์์ค์ด ๋์ผํ๋ค.
Local => Remote ๋ฐฉํฅ์ผ๋ก์ Flow์Remote => Local ๋ฐฉํฅ์ผ๋ก์ Flow2๊ฐ์ง ๋ชจ๋ ์ ์ด๋ฏธ์ง์ฒ๋ผ ๋จธ๋ฆฌ์์ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ์ผํ๋ค.
- WeCode ๊ฐ์ ์ค ๊ดํฌ๋์ ์ด์ ๊ฐ์ ์ค:}
1๋ฑ!! ์์ฐ ๋ฉ์ฐ์ญ๋๋ค. ๊น ๋ง์คํฐ๊ฐ ๋๊ฒ ์ด์!