- ๐๏ธ
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
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉดcommit
ID๊ฐ ๋์ ์ด 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/login
branch
๊ฐ ๊นํ๋ธ์ ์๊ฒจ๋๋ค.
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
์branch
B ๋ฅผ ๋ณํฉํ ์ ์์ด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 ๋ฐฉํฅ์ผ๋ก์ Flow
2๊ฐ์ง ๋ชจ๋ ์ ์ด๋ฏธ์ง์ฒ๋ผ ๋จธ๋ฆฌ์์ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ์ผํ๋ค.
- WeCode ๊ฐ์ ์ค ๊ดํฌ๋์ ์ด์ ๊ฐ์ ์ค:}
1๋ฑ!! ์์ฐ ๋ฉ์ฐ์ญ๋๋ค. ๊น ๋ง์คํฐ๊ฐ ๋๊ฒ ์ด์!