[๋ชฉํ]
๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ ์์ฑํ ์ ์๋ค.
staging area์ ๊ฐ๋ ์ ๋ํด์ ์ดํดํ๊ณ git add๋ก staging area์ ๋ณ๊ฒฝํ ์ฝ๋๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
git commit ์ผ๋ก ์์ ์ด ์์ ํ ๊ฒฐ๊ณผ๋ฌผ์ ๊ธฐ๋กํ ์ ์๋ค.
๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋?
๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ ์์ ์ ์ปดํจํฐ(๋ก์ปฌ ํ๊ฒฝ)์ ์์ ๊ณต๊ฐ์ ์์นํ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ด๋ค.
์ปดํจํฐ ํ๋ ๋๋ผ์ด๋ธ์ ์ํ๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํด์ ๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ณํ๋ฅผ ๊ฐ์งํ ์ ์๋ค.
๋ฐ๋๋ก, Github์์ ์์ฑํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ ์๊ฒฉ(remote) Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ด ์ปดํจํฐ ์์๋ ์์ง๋ง, ์๊ฒฉ์ ์กด์ฌํ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ด๋ค.
๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ: ๋ด ์ปดํจํฐ์ ์ ์ฅ์, ๋ด ๊ฐ์ธ ์ ์ฉ ์ ์ฅ์
์๊ฒฉ(remote) Git ๋ฆฌํฌ์งํ ๋ฆฌ: ์๊ฒฉ ์จ๋ผ์ธ ์๋ฒ ์์ ์ ์ฅ์, ์ฌ๋ฌ ์ฌ๋์ด ํจ๊ป ๊ณต์ ๊ฐ๋ฅ
<๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ณผ์ >
- ์ฝ๋๋ฅผ ์ ์ฅํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ํด๋น ๋๋ ํ ๋ฆฌ์ ๋ก์ปฌ Git repository๋ฅผ ์์ฑํ๊ธฐ. (git init)
- ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ์ฅํ๋ ๊ณต๊ฐ, ์์ ๊ณต๊ฐ(work space)์ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ git์ ๊ด๋ฆฌ ํ์ ์๋ ์ํ๋ก ์ฌ๋ ค์ค ์ ์๋ค. (git add) ์ด ์์ญ์ด staging area์ด๋ค.
- staging area์ ํ์ผ์ commit์ด ๊ฐ๋ฅ! commit์ผ๋ก local Git repository์ ๋ด ์ฝ๋๋ฅผ ๊ธฐ๋กํ ์ ์๋ค. (git commit)
git init
์ผ๋ฐ์ ์ผ๋ก ์์ฑํ๊ณ ๋ค๋ฃจ๋ ํด๋๋ ํ์ผ์ ์ ์ฅํ๊ณ ์ญ์ ํ ์๋ ์์ง๋ง, ์ด๋ฏธ ์ญ์ ํ ํ์ผ์ ๋ค์ ๋๋๋ฆฌ๊ฑฐ๋ ํ์ผ์ ๋ณ๊ฒฝ์ ์ ์ผ์ผํ ๊ธฐ๋กํ๋ค๊ฐ ๋ณต์ํ๋ ๊ธฐ๋ฅ์ ๋ฐ๋ก ์๋ค.
์ผ๋ฐ์ ์ธ ํด๋์ Git repository๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ๋ฐ์๋ Git์ ์ด์ฉํ์ฌ ์์ ์ ํ๋ก๊ทธ๋จ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ค.
Git repository๋ git init ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์ถ๊ฐํ ์ ์๋ค.
Staging area๋?
staging area: ์จ์ ํ ์ ์ฅํ๊ณ ์ถ์ ์ฝ๋๋ฅผ ๋ชจ์๋์ ๋ฌถ์
staging area์ ์๋ ํ์ผ๋ง commit์ด ๊ฐ๋ฅํ๋ค.
- commit
- staging area์ ์ฝ๋ ๋ฌถ์์ ์ ์ฅํ๊ธฐ๋ก ๊ฒฐ์ฌํ๊ณ (git commit)
- staging area ์ฝ๋์ ์ฉ๋๋ฅผ ์ ์ด๋๋ ํ์ (์ปค๋ฐ ๋ฉ์์ง -m "commit message")
git add: staging area์ ๋ฃ๊ธฐ
git add ๋ช ๋ น์ด๋ก ์์ ๊ณต๊ฐ์ ์ฝ๋๋ฅผ staging area๋ก ์ฎ๊ธธ ์ ์๋ค. // untracked file๋ฅผ staging area๋ก ์ถ๊ฐํด์ git์ ๊ด๋ฆฌํ์ ๋๋ค.
git add <๊ฒฝ๋ก๋ช > // ๋ด local์ untracked file์ git์ ๊ด๋ฆฌ ํ์ธ staging area๋ก ์ถ๊ฐํ ์ ์๋ค.
git add . //staging area์ ๋ชจ๋ ํ์ผ์ ํ๋ฒ์ ์ถ๊ฐํ ์ ์๋ค.
git status๋ก ํ์ฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ ์ํ ํ์ธํ๊ธฐ
staging area, untracked files์ ํ์ธ ํ ์ ์๋ค.
git commit์ผ๋ก ๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋กํ๊ธฐ
staging area์ ์ฝ๋๋ฅผ ์ ๋ชจ์๋์๋ค๋ฉด, ์ด์ commit์ ํ ์ ์๋ค.
commit์ staging area์ ์๋ ์ฝ๋ ๋ด์ญ์ ๊ทธ๋๋ก ์ค๋ ์ท์ ์ฐ์ด์ ๊ธฐ๋กํ๋ ํ์์ด๋ค.
git commit: ์์ ์์ ์ด ๋๋ฌ์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅ
commit์ ์์ ๋จ์๋ก ์์ฃผ ํ๋๊ฒ ์ข๋ค.
- ์ฝ๋๋ฅผ ์๋ชป ์ ์ ๊ฒฝ์ฐ์, ์ด์ ๊ธฐ๋ก์ ๋ ์ฝ๊ฒ ๋ณต์ํ ์ ์๋ค.
- ๋๊ฐ ํด๋น ์ฝ๋๋ฅผ ์์ ํ๋์ง ์ฝ๊ฒ ํ์ ํ ์ ์๋ค. /merge, rebase
git commit -m "๋์ ์ ํ๋ฆฌ์ผ์ด์
html, css ์์ฑ"
[๋ชฉํ]
์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ๋ ์ ์ดํดํฉ๋๋ค.
์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ ์์ฑํ ์ ์์ต๋๋ค.
git push ๋ก ๋ก์ปฌ GIt ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
git pull ๋ก ์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ ๋ค๋ฃจ๊ธฐ
- Github์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑ
- ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ git url์ ๋ฑ๋ก (git remote add)
- ๋ก์ปฌ Git repository์ ๊ธฐ๋กํ ๋ด์ญ์ ์๊ฒฉ Git repository์ push. (git push)
๋ก์ปฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์๊ฒฉ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ฝ๋๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ git push ์ด๋ค.
git remote add
git remote add๋ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ๋ฑ๋กํ๋ ๋ช ๋ น์ด์ ๋๋ค. ์ฝ๊ฒ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ์ ํ๊ธฐ ์ํด ์ด๋ฆ์ ์ง์ ํด์ค ์ ์๊ณ , ์ด๋ฆ ๋ค์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ผ๋ฉด ์๋ํฉ๋๋ค.
<name>: ์์ผ๋ก ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ๋์ ํ ์ด๋ฆ (ex: origin)
<URL>: ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์ (ex: git@github.com:codestates-seb/agora-states-fe.git )
์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ฅผ ๋ฑ๋กํ๊ธฐ => git remote add <remote> <URL> ์์๋ก ์ ๋ ฅํ๋ฉด ๋๋ค.
git push
git push ๋ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋กํ ๋ด์ญ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ฎ๊ธฐ๋ ์์
git push๋ ์๋กญ๊ฒ ์์ฑํ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ์กด ์ปค๋ฐ ๊ธฐ๋ก์ ์ฎ๊ธฐ๊ฑฐ๋, ๊ธฐ์กด ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ผ๋ถ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ์ฎ๊ธฐ๋๋ฐ ์ฌ์ฉํ ์ ์๋ค.
git push <remote> <branch>
๋ค๋ฅธ CLI ๋ช ๋ น์ด์ฒ๋ผ, git push๋ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง ์ ์๋ค.
git pull
git pull ๋ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋ก์ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ฎ๊ธฐ๋ ์์ ์ด๋ค.
git pull์ ์๋กญ๊ฒ ์์ฑํ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ์กด ์ปค๋ฐ ๊ธฐ๋ก์ ์ฎ๊ธฐ๊ฑฐ๋, ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ผ๋ถ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ์ฎ๊ธฐ๋๋ฐ ์ฌ์ฉํ ์ ์๋ค.
git pull <remote> <branch>
๋ค๋ฅธ CLI ๋ช ๋ น์ด์ฒ๋ผ, git push ๋ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง ์ ์๋ค.
<remote> ์๋ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ , <branch> ์๋ ๋ธ๋์น ์ด๋ฆ์ ์ ๋ ฅํ๋ค.