: Version Control System ๋ฒ์ ๊ด๋ฆฌ ์์คํ ; ์์ ์ด๋ ฅ๊ด๋ฆฌ
: Update(์์ )๊ฐ ์ผ์ด๋ ํ term.
๊ฒฐ๊ณผ๋ณด๊ณ ์ - ver.1
๊ฒฐ๊ณผ๋ณด๊ณ ์_์ต์ข
- ver.2
๊ฒฐ๊ณผ๋ณด๊ณ ์_์ต์ต์ข
- ver. 3
๊ฒฐ๊ณผ๋ณด๊ณ ์_์ง์ง์ต์ข
๊ฒฐ๊ณผ๋ณด๊ณ ์_์ฐ๋ง์ง์ง์ง์ง์ง์ง์ต์ข
.
.
ํด๋น ๋จ๊ณ์์ ์์ ๋ ๋ด์ฉ์ ์๊ธฐ ์ด๋ ต๋ค
์์ฑ์ ๋ณธ์ธ๋ง ์์๋ณผ ์ ์๋ค
โ ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ๊ธฐ ์ด๋ ต๋ค
๋ฌผ๋ฆฌ์ ์ธ ํ์ผ์ด ๊ณ์ ์์ฑ๋์ด ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค
โ ์์ ๋ณธ๋ง๋ค ๋ค ์๋ณธ์ด๊ธฐ ๋๋ฌธ์ ์ ์ค์ ์ํ์ด ์๋ค
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ํ์ํ ๊ฒ์ด ๋ฒ์ ๊ด๋ฆฌ์์คํ
โ Git
git ์ด์ธ์๋ ๋ค์ํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ด ์์ง๋ง git์ด ๊ฐ์ฅ ์ ๋ช
ํ๊ณ ๋๋ฆฌ ์ฐ์ธ๋ค.
[ Github ๋ง์ค์ฝํธ : ์ฅํ (Octopus)+์บฃ(Cat) ]
: ์ฌ๋ฌ ๊ฐ๋ฐ์(์ฝ๋)๋ฅผ ์๋ hub์ ์๋ฏธ
๐ก Git - ๋ฒ์ ๊ด๋ฆฌ ์์คํ โ ํ๋ก๊ทธ๋จ
Github - Git์ ์ด์ฉํ ํ๋ก์ ํธ๋ฅผ ์ํ ํธ์คํ ์๋น์ค ํ๋ซํผ โ ๊ณต๊ฐ
: git์ ์์. ์ด ํด๋์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ํ๊ฒ ๋ค๋ ์๋ฏธ. โ ย ์์น์ถ์ ๊ธฐ ์ฌ๊ธฐ
: git addํ ๋ด์ฉ์ด ์๋์ง, ์์ ์ฌํญ์ด ์๋์ง ํ์ฌ ์ํํ์ธ
: ํ์ผ ์์ ์ด๋ ฅ ๊ธฐ๋ก์ ์ค๋นํจ - commit์ ์ํ ์ค๋น (์คํ ์ด์ง; ์ค๊ฐ์ ์ฅ) โ ย ์ฅ๋ฐ๊ตฌ๋
git add .
โ ์ ์ฒด ํ์ผ addgit add โminjee.mdโ
โ ํด๋น ํ์ผ๋ง add: ์ค์ ํ์ผ์ ์ ์ฅ์์ ๊ธฐ๋ก. git์ ์ฌ๋ฆฌ๋ ๊ฒ. โ ย ๊ฒฐ์
๋ฐ๋ก commit ํ๋ ๊ฒ X add๋ฅผ ๊ผญ ์ฌ๋ฆฌ๊ณ ๋ ํ commitํ ์ ์๋ค.
git commit -m โ์ปค๋ฐ๋ด์ฉ์
๋ ฅโ
: commit์ด ์ ๋์๋์ง ํ์ธ
git์ commit๋ ๊ฐ ๋ฒ์ ๋ค์ ์ฃผ์์ ๊ธฐ๋ก์ ๋ณผ ์ ์๋ค
โ git
โ github
: local-remote ์ฐ๊ฒฐ ๋ฐ ์ฐ๊ฒฐ ์ฃผ์ ์ด๋ฆ ์ค์
git remote add โoriginโ โgithub repository ์ฃผ์โ
โ ๋ด git์ โgithub repository ์ฃผ์โ๋ฅผ remote repository๋ก ์ฐ๊ฒฐํ๊ณ , ๊ทธ ์ด๋ฆ์ origin์ผ๋ก ํ๋ค
: ์ฐ๊ฒฐ๋ remote repository๋ก ํ์ผ์ ์ ์ก
git push origin master
โ origin์ master branch์ ํ์ผ์ ๋ณด๋ธ๋ค
-u
origin master : ์์ผ๋ก push ํ๋ฉด ๊ณ์ origin master์ ํ ๊ฑฐ๋ค๐ย ์ฒ์, ํ๊ฒฝ์ ์ธํ ํ๊ณ ๋๋ฉด ๊ฑฐ์ add > commit > push ๋ง ์ฃผ๋ก ์ฌ์ฉํ๋ค
<๊ธฐ๋ณธ Linux ๋ช ๋ น์ด>
ESC
โ shift+;
โ wq
: ๋ด ์ปดํจํฐ์ ์ ์ฅ๋ ๋ก์ปฌ ์ ์ฅ์. ๋๋ง๋ณด์! (Git)
: ์ธ๋ถ์ ๊ณต์ ๋ ์ ์ฅ์. ๊ฐ์ด๋ณด์! (Github)
github์์ clone ๋ฐ์ ์์ ์์ํ๊ธฐ
cd desktop(clone ๋ฐ์ ์์น)
โ clone ๋ฐ์ ์์น๋ก ์ด๋
git clone "(clone ๋ฐ์ ์ฃผ์)"
โ Local์ Remote ํด๋น repository์ ๋ชจ๋ ํ์ผ์ด ๋ณต์ฌ๋จ!! โ
master ์์๋ ์ง์ ์์ , ์
๋ ฅ์ ํ์ง ์์ โ
โ branch๋ฅผ ๋ง๋ค์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
branch ์์ฑ
: git branch โfeature/minjee(branch ์ด๋ฆ)โ
ํด๋น ๋ธ๋ฐ์น๋ก ์ด๋
: git checkout โfeature/minjeeโ
๋ธ๋ฐ์น ๋ฆฌ์คํธ ๋ณด๊ธฐ
: git branch
๊ฐ๋ฐ์ ํฉ๋๋ค
ADD(์คํ
์ด์ง)
: git add .
COMMIT
: git commit -m "single line message"
or
git commit + Enterโ
: multi line message
์ฒซ์ค์ PR(Pull Request์ ์ ๋ชฉ์ด ๋๊ธฐ๋ ํ๋ค)
PUSH
: git push origin feature/minjee
Pull Request (PR)
: ์ฝ๋ ๋ณด๊ณ ์ ์์ฑ (Github์์)
โ ๋ณดํต ์ฌ์, CTO ๋ฑ ์ฝ๋๋ฆฌ๋ทฐ ํด์ฃผ๋ ์ฌ๋์ด ๋ณธ๋ค
MERGE
: ๋ด ์ฝ๋๊ฐ ์์ฑ๋ณธ์ด ๋๋ฉด Master์ ํตํฉ ํด์ฃผ๋ ๊ฒ.
PULL
: ์์ง ์์ ์ ์ํ์ธ local์ master๋ฅผ ์์ ํ merge๋ remote์ master์ ๊ฐ๊ฒ ๋ง์ถฐ์ฃผ๋ ๊ฒ.
ํ... git ์ด๋ ต๋คใ
_ใ
์ด๋ก ์ผ๋ก๋ง ์ดํดํ๋ ค๊ณ ํ๊ณ , ์ค์ ๋ก ์์ง ๋ง์ด ์ฌ์ฉํด๋ณด์ง ์์์ ๋ ์ด๋ ต๊ฒ ๋๊ปด์ง๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ GUI github desktop์ ์ฌ์ฉํด ๋ฒ๋ฆํด์ CLI๊ฐ ๋ ๋ณต์กํ๊ฒ ๋๊ปด์ง๋ ๋ฏ ํ๋ค. ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ง์ด ์ฐ๊ณ ์ต์ํด์ง๊ฒ ์ง!!
๊ทธ๋๋ ๊ทธ๋ฅ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ ์ฅ์ ์ ๋๋ก๋ง ์๊ฐํ๋ git๊ณผ github์ ๋ํด ๊ฐ๋
์ด ์กํ ๊ฒ ๊ฐ๋ค.
+) ๋ถํธ์บ ํ์ ๊ณผ์ ๋ฅผ ๋นจ๋ฆฌ ํ๋ ๊ฒ๋ณด๋ค ๊ทธ๋ ๊ทธ๋ ๋ฐฐ์ด ๊ธฐ๋ณธ ๊ฐ๋
์ ๋จผ์ ์ดํดํ๋ ๊ฒ ์ค์ํ๋ค๊ณ ์๊ฐํ๋๋ฐ ๊ทธ๋ฌ๋ค๋ณด๋ ์ง๋๊ฐ ๋๋ฌด ๋๋๋ค. ๊ฐ๋
๋ง ๋จธ๋ฆฌ๋ก ์ดํดํ๋ ค๊ณ ํ๋ ๋ ์ด๋ ค์์ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ฏ ํ๋ค. ๋ฉํ ๋์ ์กฐ์ธ์ ๋ฐ๋ผ ์ค์ ๋ก ๊ณผ์ (์ฝ๋ฉ)๋ฅผ ํด๋ณด๋ฉด์ ์ด๋ป๊ฒ ์ฐ์ด๊ณ ์ด๋ค๊ฒ ํธ๋ฆฌํ์ง ๋ชธ์ผ๋ก ์ฒด๋ํ์ฃ!!!๐ช๐ป