VCS - Version Control System (๋ฒ์ ๊ด๋ฆฌ ์์คํ )
๐ฃ version์ด๋?
ํ๋ก์ ํธ๊ฐ ์์ ๋๋ฉด์ ์ถ์ฒ๋๋ฉด ๋ฒ์ ์ ๋ฐ๋ผ์ ๋ณด๊ณ ์๋ฅผ ๋นจ๋ฆฌ ์ฐพ์ ์ ์๋ค.
์>๋ ์ง์ ์๊ฐ์ ์จ์ ๋ง๋ ํ์ผ๋ค vs ์ต์ข .txt ์ง์ง์ง์ง์ต์ข .txt
๐ ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ ์ด์
1. ์์ ํ ๋ ๋ง๋ค ํ์ผ์ ์๋ก ๋ง๋ค๋ฉด ๊ด๋ฆฌ๊ฐ ํ๋ค๋ค.
2. ์ธ์ ๋ ์ด์ ๋ฒ์ ์ ์ฝ๋๋ก ๋์ ๊ฐ ์ ์๋ค.
3. ์ด๋ ฅ์ ๋จ๊ธธ ์ ์๋ค.(๋ค๋ฅธ ์ฌ๋์ ์ฝ๋์ ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ๋๊ฐ ์์ ํ์ง ํ์ ํ ์ ์๋ค.=์ข๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.)
4. ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค์ด ํ์ ์ผ๋ก ํ๋์ ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์๋ค.
์> git, cvs, mercurial, susversion
์ฌ๋ฌ๊ฐ์ branch์ ์์ ๋ฌผ๋ค์ด ํ๋๋ก ๋ชจ์ฌ์ ํ๋์ ํ๋ก์ ํธ๋ก ๋ง๋ค์ ์๋ ์ฌ์ดํธ.
Git์ ํ๋ก์ ํธ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ๋ ์์คํ
GitHub์ ๊น์ ์ด์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ํธ์คํ ์๋น์ค
https (token) ์ฌ์ฉ์
echo "# git-practice" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/hyunny123/git-practice.git git push -u origin main
์ค์ต์ ํ๋ฉด์ git push origin master ์์ ํคํ ํฐ์ ๋ฃ์ผ๋ผ๊ณ ํ์ผ๋ ๊ณ์ ์ค๋ฅ๊ฐ ๋์ ์ทจ์ ํ๊ณ git id๋ฅผ ๋ฃ๊ณ password์ keyrtoken์ ์ ๋ ฅํ๋ ํ์ธ๋จ.
git์ ๋งก๊ธฐ์ง ์์ ํ์ผํด๋
.gitignore ๋ง๋ค์ด ๋ณด์์ด ํ์ํ ํ์ผ์ ๊ทธ ์์ ์ ์ด์ ๋ฃ๋๋ค.
์) index-secret.html ํ์ผ๋ช
์ ๊ทธ์์ ์ ์ด์ ๋ฃ์ผ๋ฉด ๋๋ค.
์) *.yaml yaml๋ก ๋ ํ์ผ ๋ชจ๋
์) /folder/index.html
์ฐ์ ํ์ผ์ ๋ฐฑ์
ํด์ ์ ์ฅํด๋๋๊ฒ ์ค์!
๊ทธ๋ฆฌ๊ณ ํ์ผ ์ ์ฅ์ด ์ค์!
git init
git add .
git commit์ ํ๊ฒ ๋๋ฉด
i:์
๋ ฅ์์
esc:์
๋ ฅ์ข
๋ฃ
q:์ ์ฅ์์ด ์ข
๋ฃ
q!:์ ์ฅ์์ด ๊ฐ์ ์ข
๋ฃ
:wq: ์ ์ฅํ๊ณ ์ข
๋ฃ
i->first commit ->esc=>:wq ์ข ๋ฃ
git diff (๋ณ๊ฒฝ์ฌํญ์ ๊ตฌ์ฒด์ ์ผ๋ก)
j:์๋๋ก ์คํฌ๋กค
k:์๋ก ์คํฌ๋กค
q:๋ซ๊ธฐ
์์์๋ git commit์ ํ๊ณ ๋ณต์กํ๊ฒ ํ์ง๋ง
git commit --m "first commit"
์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ ๋ง์ดํ๋ค.
์ถ๊ฐ๋ ํ์ผ์ด ์์๋
add์ commit์ ํ๋ฒ์
git commit -am "๋ฉ์ธ์ง"
SHH keygen ์ฌ์ฉ์
echo "# ssh_test" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin git@github.com:hyunny123/ssh_test.git git push -u origin main
ssh keygen ์ค์น
ssh-keygen -t rsa
yesํ๊ณ ์์ด๋์ ๋น๋ฐ๋ฒํธ ์ค์
ssh ํด๋๋ก ๊ฐ์
cd ~/.ssh
keygen
cat id_rsa.pub
๊นํ์ setting -> SSH and GPG keys -> New SHH key -> terminal์์ ํค๊ฐ ๋ณต์ฌํด์ ๋ถ์ฌ๋ฃ๊ธฐ