๐ค Github๋ ์ฌ์ฉํ๊ณ ์์ง๋ง, ์์งํ Git๊ณผ Github์ ์ฐจ์ด๋ฅผ ์์ง๊น์ง ์ ํํ ๋ชจ๋ฅด๊ณ ์์์ด์(์ ๊ธฐ.. ์ ๋๋ก ์๋๊ฒ ๋ญ์ง..) ํฌ์คํ ํ ๋๋ง๋ค ๋๋ผ๋๊ฑฐ์ง๋ง ๋๊ตฐ๊ฐ์๊ฒ ์ค๋ช ํ ์ ์์ ์ ๋๋ก ์์๋๋๊ฒ ์ ๋ง ์ค์ํ ๊ฒ ๊ฐ์์. ์ด๋ฒ์ Git๊ณผ Github์ ๋ํด ์ ๋ฆฌํ๋ฉฐ Git, Github, ๊ทธ๋ฆฌ๊ณ Github์ ๊ธฐ๋ณธ ๋ช ๋ น์ด๊น์ง ๋ค์ ๊ณต๋ถํ ์ ์์์ด์. ํ๋ก์ ํธํ๋ฉฐ ์ ํ์ฉํ ์ ์๊ธฐ๋ฅผ!
๊น(Git)์ ํ๋ก์ ํธ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ๋ ์์คํ ์ ๋๋ค.
๐ Git์ด๋?
๊น(Git)์ ์ปดํจํฐ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์๋ค ๊ฐ์ ํด๋น ํ์ผ๋ค์ ์์ ์ ์กฐ์จํ๊ธฐ ์ํ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ค.
์ํค๋ฐฑ๊ณผ
ver.1
, ver.2
, ... ์ ๊ฐ์ด ๋ณด๋ค ์์ ๋๊ณ ๊ฐ์ ๋ ๋๋ง๋ค ๋ฒ์ ์ด ๋์์ง์์์? ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์์ ๋ฒ์ ์๋ ๋ฐ๋ก ์ด ๋ฒ์ (Version)์ ์ด์ผ๊ธฐํด์. ์ด์ ๊ณผ ๋ค๋ฅธ ๋ณํ๋ค์ ๊ตฌ๋ถํด๋๋ ํ์์ด์ฃ . ์ด์ฒ๋ผ Git์ ์ด์ ๊ณผ ๋ฌ๋ผ์ง ์ฌํญ๋ค์ ๊ด๋ฆฌํด์ฃผ๋ ์์คํ
๋ผ๊ณ ํ ์ ์๋ต๋๋ค.
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด, ๋ฒ์ ๊ด๋ฆฌ๋ ํ์ผ ์์ ์ ํ์ผ ๊ด๋ฆฌ๋ฅผ ๋ณด๋ค ํธํ๊ฒ ํ๊ธฐ ์ํด ํ์ํด์.
์ ๋ ๊ฐ์ ํ์ผ์ ์์ ํ๊ณ ์๋ก ์ ์ฅํ๋ ๊ณผ์ ์์ ์์ ์๋ ์ด๋ฏธ์ง์ฒ๋ผ์ ์๋์ง๋ง,, ์ด๋ ๊ฒ ๋ํดํ ํ์ผ๋ช
๋ค์ด ๋ฑ์ฅํ ๊ฒฝํ์ด ๊ฝค ๋ง์์์ด์. ver.1
, ver.2
, ...์ฒ๋ผ ๋ฒํธ๋ฅผ ๋ถ์ด๋ ๊ฒฝ์ฐ๋ ๋ง์๊ตฌ์.
ํ์ง๋ง Git์ ์ฌ์ฉํ๋ฉด ์ธ์ ๋ ์ด์ ๋ฒ์ ์ฝ๋๋ก ๋์๊ฐ ์ ์์ด์. ๊ทธ๋์ ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋๊ณ ์ฌ๋ฌ๋ช
์ ๊ฐ๋ฐ์๋ค์ด ํ์
ํ ๋ ์์ฃผ ์ ์ฉํ์ฃ . ํน์ ํ์ผ์ ์ฝ๋๋ฅผ ์ธ์ , ๊ทธ๋ฆฌ๊ณ ๋๊ฐ ์์ฑํ๊ณ ์์ ํ๋์ง ํ์ธํ ์ ์์ด์.
Git์ด ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ผ๋๊ฑด ์ ์ ์์์ด์. ๊ทธ๋ผ Github๋ ๋ญ๊น์? Github๋ Git์ ์ด์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ฒ ํด์ฃผ๋ ํธ์คํ ์๋น์ค์ ๋๋ค. ์ฌ๊ธฐ์ ํธ์คํ ์ด๋, ์๋ฒ ์ปดํจํฐ์ ์ ์ฒด ๋๋ ์ผ์ ๊ณต๊ฐ์ ์ด์ฉํ ์ ์๋๋ก ์๋ํด ์ฃผ๋ ์๋น์ค๋ฅผ ๋งํด์. ์ฝ๊ฒ ๋งํด, Github๋ ํ์ผ์ ๋ฒ์ ์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ณต๊ฐ์ ๋ฌด๋ฃ๋ก ๋น๋ ค์ฃผ๊ณ ์๋๊ฑฐ์ฃ !
๐ Github๋?
๊นํ๋ธ(GitHub)๋ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ํด์ธ ๊น ์ ์ฅ์ ํธ์คํ ์ ์ง์ํ๋ ์น ์๋น์ค์ด๋ค.
์ํค๋ฐฑ๊ณผ
ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์.
git init
ํ์ฌ ์์ ์ค์ธ ํ์ผ์ ์ํ๋ฅผ ํ์ธํ ์ ์์ด์.
git status
ํ์ผ์ ์์ ์ด๋ ฅ์ ๊ธฐ๋กํ ์ค๋น๋ฅผ ํฉ๋๋ค. ์์ ์ด๋ ฅ์ commit
์ด๋ ๋ช
๋ น์ด๋ก ๋ฉ์์ง๋ฅผ ๋จ๊ธธ๊ฑด๋ฐ์, ์ด๋ ๊ฒ ์ปค๋ฐ ๋ฉ์์ง์ง๋ฅผ ๋จ๊ธธ ํ์ผ๋ค์ add๋ฅผ ์ฌ์ฉํด ์ฅ๋ฐ๊ตฌ๋์ ๋ฃ์ด์ค์.
git add .
๋ก ํ์ผ ์ ์ฒด๋ฅผ add
ํ ์๋ ์๊ณ , git add [ํ์ผ์ด๋ฆ]
์ผ๋ก ์ํ๋ ํ์ผ๋ง add
ํ ์๋ ์์ด์.
git add .
git add [ํ์ผ์ด๋ฆ]
add
๋ก ์ฅ๋ฐ๊ตฌ๋์ ์์ ์ด๋ ฅ์ ๋จ๊ธธ ํ์ผ๋ค์ ๋ฃ์ด์ฃผ์๋ค๋ฉด, commit
์ผ๋ก ์์ ์ด๋ ฅ์ ๊ธฐ๋กํ ์ฐจ๋ก์์! git commit -m "๋ฉ์ธ์ง"
์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ๋จ๊ฒจ์.
git commit -m "๋ฉ์ธ์ง"
git log
๋ ๋ช
๋ น์ด๋ฅผ ํตํด ์ปค๋ฐ ์ด๋ ฅ์ ํ์ธํ ์ ์์ด์.
git log
github์ ์๋ ๊ธฐ์กด Repository๋ฅผ ๋ด ๋ก์ปฌ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ณต์ ํด์ค์.
git clone [Repository์ฃผ์]
branch๋ ๋๋ฌด์ ๊ฐ์ง์ฒ๋ผ ์ฌ๋ฌ๊ฐ๋๋ก ๋ป์ด๋๊ฐ ๋ ๋ฆฝ๋ ๊ณต๊ฐ์ด์ด์์. main๊ณต๊ฐ์์ ๋ชจ๋๊ฐ ํจ๊ป ์์ ์ ํ๋ค๋ฉด ์์ ์ฌํญ์ ๊ด๋ฆฌํ๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ ํ๋ค๊ฑฐ์์. branch๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ์ ํ ์ ์๋ ๊ณต๊ฐ์ ๋ง๋ค์ด์ค ์ ์๋ต๋๋ค.
git branch
๋ค์ ์ํ๋ branch ์ด๋ฆ์ ์จ์ฃผ๋ฉด ํด๋น ์ด๋ฆ์ branch๊ฐ ์์ฑ๋ผ์.
git branch [branch์ด๋ฆ]
checkout ๋ช ๋ น์ด๋ก branch๋ฅผ ์ด๋ํ ์ ์์ด์. main์์ ๋ค๋ฅธ branch๋ก ์ด๋ํ๊ณ ์ถ์ ๋ ๋ฑ๋ฑ.. ํ์ฌ branch์์ ๋ค๋ฅธ branch๋ก ์ด๋ํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋๋๋ค.
git checkout [branch์ด๋ฆ]
github์ ์๋ ํน์ branch์ ์ฝ๋๋ฅผ ๋ด ๋ก์ปฌ๋ก ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํด์.
git pull origin [branch์ด๋ฆ]
๋ก์ปฌ์์ ํ์ฌ branch์ ์ฝ๋๋ ํน์ branch์ ์ฝ๋๋ฅผ ํฉ์น ๋ ์ฌ์ฉํด์.
๋ง์ฝ์ ํ๋์ ํ๋ก์ ํธ์ ๋ค์ํ branch๋ฅผ ๋ง๋ ๋ค, main์ ๋ฐ์ํ ๋ merge๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ํ๋๋ก ํฉ์ณ์ฃผ๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
git merge [branch์ด๋ฆ]