์๋ฌธ: https://dev.to/reenatoteixeira/everything-that-you-need-to-know-about-git-2440
๋๋ ๋น์ ์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋๋๋ฆฌ๊ณ ์์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ ์ ์๋๋ก ์ฝ๋ ๋ฒ์ ์ ์ค์์ฑ์ ์๊ฐํ ๊ฒ์ด๋ผ๊ณ ํ์ ํ๋ค. ์ฐฝ์์ ์ธ ์ด๋ฆ์ผ๋ก ํ์ผ ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ด ๊ฐ๋ฉฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ ๋๊ตฐ๊ฐ(์ ๋ ์๋)๋ฅผ ์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค..
์ด๊ฒ์ ์๋ง๋ 1972๋
์ด์ ์ ์ฒ์์ผ๋ก ์ค์ ์ง์ค์ ๋ฒ์ ์ ์ด ์ํํธ์จ์ด ์ค ํ๋์ธ SCCS(Source Code Control System)๊ฐ ์ถ์๋๋ฉด์ ๋๊ตฌ๋ ์์ ์ ์ฝ๋๋ก ๋ฒ์ ์ ์ด๋ฅผ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ SCSS๋ฅผ ์๊ธฐํ๋ ค๋ ๊ฒ์ด ์๋๋ผ, ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ด์ฌ์์ด ํ๋ ๊ฒ์ ๋ด๋
(07/04/2005)์ 20์ฃผ๋
์ ๋ง๋ ๋ถ์ฐํ ์คํ์์ค ๋ฒ์ ์ ์ด ์ํํธ์จ์ด์ธ GIT ์ด๋ค.
๋ชฉ์ฐจ
1. GIT์ด๋ ๋ฌด์์ธ๊ฐ?
GIT์ ๋ฆฌ๋
์ค ์ปค๋ ์ ์์์ธ Linus Torvald์ด ๊ฐ๋ฐํ 2005๋
์ ์ถ์๋ ๋ถ์ฐํ ์คํ์์ค ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ด๋ค. GIT์ ํตํด ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ์ ๋ฒ์ ์ ์ ์ญ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ณ (์์
ํ๋ ํด๋์์) ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ ์ฑํฌ๋ฅผ ๋ง์ถ ์ ์๋ค(์๋ฅผ ๋ค์ด GitHub์์).
2. GIT์ ์ด๋ป๊ฒ ์๋ํ ๊น?
๋ชจ๋ ํ๋ก์ ํธ ํ์ผ์ด ์๋ ํด๋๊ฐ ์๋ ๋ฌผ๋ฆฌ์ ์ธ ํ์ผ ์บ๋น๋์ ์์ํด๋ณด๋ผ. ๋๊ตฐ๊ฐ ํ์ผ์ ์กฐ์ํ๋ ค๊ณ ํ ๋๋ง๋ค, ๊ทธ๋ค์ ๊ทธ๊ฒ์ ๊ณจ๋ผ์ผ ํ๊ณ ํด๋์์ ๊ทธ๊ฒ์ ์ง์ฐ๊ณ ๋๋ ํ์๋ ๋ค์ ํด๋์ ๋๋๋ ค ๋์์ผ ํ๋ค. ๋ฐ๋ผ์ ๋ ์ฌ๋์ด ๋์ผํ ํ์ผ์ ์์
ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ฌ ๋ฐ์ ๊ฐ๋ฅํ ์ถฉ๋์ ์์ ํ ํผํ ์ ์๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ด GIT์ด ์๋ํ๋ ๋ฐฉ์์ ์๋๋ค! (thanks God)
์ด๊ฒ์ ์ค์ ์ง์ค๋ ๋ฒ์ ์ปจํธ๋กค ์์คํ
์ด ์๋๋๋ ๋ฐฉ์์ผ๋ก, ์ฌ์ฉ์๋ ํ์ผ์ 'check-out(์ฒดํฌ์์)'ํ๊ณ 'check-in(์ฒดํฌ์ธ)'ํด์ผ ํ๋ค. ํน์ ํ์ผ์ ๋ํ ์์
์ด ํ์ํ ๋๋ง๋ค ํด๋น ํ์ผ์ ์ฒดํฌ์์ํ์ฌ ์ ์ฅ์์์ ์ ๊ฑฐํ ๋ค์ ์์
์ด ์๋ฃ๋๋ฉด ํ์ผ์ ์ฒดํฌ์ธํ์ฌ ์ ์ฅ์๋ก ๋ฐํํด์ผ ํ๋ค.
GIT๊ฐ์ ๋ถ์ฐํ ์์คํ
์์๋ ๊ฐ์ ๋ ํฌ์งํ ๋ฆฌ์ ํ์ผ์ ์ฌ๋ฌ ์ฌ๋๋ค์ด ๋์์ ํ์ผ์ ์ ๊ทผํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ๋๊ตฐ๊ฐ ํ์ผ์ ์กฐ์ํ ๋๋ง๋ค ํ์ผ์ ๋ก์ปฌ๋ก ๋ณต์ (๋๋ ์ ์ฒด ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ )ํ ๋ค์ ์์ ์ฌํญ์ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ค์ ๋ณด๋ผ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ ์ฌ๋์ด ๋์ผํ ํ์ผ์ ์กฐ์ํ๋ฉด์ ๋์ผํ ํ๋ก์ ํธ์์ ์์
ํ ์ ์๋ค.
์ด๊ฒ์ ์ธ๊ณ ์ฌ๋ฌ ์ง์ญ์ ์ฌ๋๋ค์ด ๊ฐ์ ํ๋ก์ ํธ์์ ์์
ํ๊ณ ์์ ๋ฐ ๋ฐ์ ๊ฐ๋ฅํ ์ถฉ๋์ ๊ด๋ฆฌํ๋ ๋๊ท๋ชจ ์คํ ์์ค ํ๋ก์ ํธ์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ๋ค(์ฌ๊ธฐ์ ๋ณํฉ ์ถฉ๋(merge conflicts)์ด ๋ฐ์ํ ์ ์๋ค).
3. GIT ์ค์นํ๊ธฐ
GIT์ ๋งค์ฐ ๊ฐ๋จํ ์ค์น ํ๋ก์ธ์ค๋ฅผ ํตํด ์ฃผ์ ์ด์ ์ฒด์ (Windows, Linux, MacOs...)์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ช
๋ น์ค์ด๋ git-scm.com ์ ๊ณต์ ์ค์น ํ๋ก๊ทธ๋จ์ ํตํด ์ค์น๊ฐ ๊ฐ๋ฅํ๋ค.
3.1 ์๋์ฐ์์ ์ค์นํ๊ธฐ
์๋์ฐ์ GIT๋ฅผ ์ค์นํ๋ ค๋ฉด ๊ณต์ ์น์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ํ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ง์์ฌํญ์ ๋ฐ๋ผ๊ฐ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ํฐ๋ฏธ๋์์ GIT ๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
3.2 ๋ฆฌ๋
์ค์์ ์ค์นํ๊ธฐ
๋ฆฌ๋
์ค์ ๊ฒฝ์ฐ๋ ์๋ ๋ช
๋ น์ ์ฌ์ฉํด GIT๋ฅผ ์ค์นํ ์ ์๋ค:
sudo apt install git-all
์ด ๋ช
๋ น์ด๋ฅผ ํตํด GIT์ด ์ฐ๋ฆฌ์ ํฐ๋ฏธ๋์์ ์คํ๋ ์ค๋น๋ฅผ ํด์ผ ํ๋ค.
3.3 Mac์์ ์ค์นํ๊ธฐ
Mac์ ๊ฒฝ์ฐ GIT๋ฅผ ์ค์นํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ Homebrew๋ฅผ ์ค์นํ ๋ค์ ํฐ๋ฏธ๋์์ ์๋ ๋ช
๋ น์ ์คํํ๋ ๊ฒ์ด๋ค:
brew install git
์ด ๋ช
๋ น์ด๋ฅผ ํตํด GIT์ด ์ฐ๋ฆฌ์ ํฐ๋ฏธ๋์์ ์คํ๋ ์ค๋น๋ฅผ ํด์ผ ํ๋ค.
4. GIT ๊ตฌ์ฑํ๊ธฐ
์ค์นํ ํ์๋ ์๋ ์คํ์ ํตํด GIT์ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ค์ํ๋ค:
git config --global user.name "[username]"
# e.g. John Doe
git config --global user. email "[email@email.com]"
# e.g. johndoe@email.com
๋ํ --global ํ๊ทธ๋ฅผ ์ ๊ฑฐํ์ฌ ํน์ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ํน์ ์ฌ์ฉ์๋ฅผ ๊ตฌ์ฑํ ์๋ ์๋ค.
5. ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ ์์ํ๊ธฐ
GIT์ด ๊ตฌ์ฑ๋๋ฉด ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์์ํ ์ ์๋ค. ์ด๋ฅผ ์ํด ์ ์ ์ฅ์๋ฅผ ์ฒ์๋ถํฐ ์์ํ๊ฑฐ๋ ๊ธฐ์กด ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ณต์ ํ ์ ์๋ค.
5.1 ์ฒ์๋ถํฐ ์์ํ๊ธฐ(git init)
์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ํ๋ ค๋ฉด ์ํ๋ ๋ ํฌ์งํ ๋ฆฌ ๋ฃจํธ ํด๋๋ก ์ด๋ํ๊ณ ์๋ ๋ช
๋ น์ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
git init
์ด๋ฅผ ํตํด ํ๋ก์ ํธ ํด๋์ .git ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋๋ฉฐ, ์ด ๋๋ ํ ๋ฆฌ๋ ๋ก์ปฌ ์ ์ฅ์์ ์์
ํด๋์ ๋ฒ์ ์ปจํธ๋กค์ ๋ด๋นํ๋ค.
5.2 ๊ธฐ์กด ๋ ํฌ์งํ ๋ฆฌ ๋ณต์ ํ๊ธฐ(git clone)
๊ธฐ์กด ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ณต์ ํ๋ ๊ฒ์ ์ ์ ์ฅ์๋ฅผ ์ฒ์๋ถํฐ ์์ํ๋ ๊ฒ๋งํผ ์ฝ๋ค. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ ํ๊ณ ์ถ์ ๊ณณ์ ๋ฆฌ๋ชจํธ ์ ์ฅ์์ URL๊ณผ ํจ๊ป git clone ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
git clone [repository-url]
๊ทธ๋ฆฌ๊ณ ๋๋ฉด ์ ์ฒด ๋ ํฌ์งํ ๋ฆฌ๊ฐ ์ฐ๋ฆฌ์ ๋ก์ปฌ ์ ์ฅ์์ ๋ณต์ ๋ ๊ฒ์ด๊ณ ์๋์ผ๋ก ์ฐ๊ด๋ ์๊ฒฝ ์ ์ฅ์์ ์ฐ๊ฒฐ๋ ๊ฒ์ด๋ค.
๋ ํฌ์งํ ๋ฆฌ ๋ณต์ ๋ ์ฐ๋ฆฌ๊ฐ ๋์ด์ git remote ๋ช
๋ น์ด๋ฅผ ๋ฏธ๋์ ์ฌ์ฉํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ๋ปํ๋ค.
6. GIT์ผ๋ก ์์
ํ๊ธฐ
์ฐ๋ฆฌ์ ๋ก์ปฌ ์ ์ฅ์์์ ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ํ์ํ ํ์ผ์ ๋ง๋ค ์ ์์ง๋ง ๊ทธ ํ์ผ๋ค์ด ์๋์ผ๋ก GIT์ ์ํด ๋๊ธฐํ๋์ง๋ ์์ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ๋ฒ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธธ ๊ฒฝ์ฐ GIT์ ๋ณด๊ณ ํด์ผ ํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋๋ก ํ์ผ์ ์กฐ์ํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์์ ํ ํ์๋ ๊น์ ์์ ๋ ํ์ผ์ ๋ณด๋ธ๋ค.
์ด๋ฅผ ์ํด ๋ฒ์ ์ปจํธ๋กค์ 3๋จ๊ณ์ ๋ฌดํ ํ๋ก์ฐ๊ฐ ์๋ค๋ ๊ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
MODIFY -> STAGE -> COMMIT
MODIFY (์์ ๋จ๊ณ): ๋ฒ์ ์ปจํธ๋กค์ ์ฒซ ๋ฒ์งธ ์์
์ MODIFY์ด๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ง์ง๋ง ๋ฒ์ ๊ณผ ๋น๊ตํ์ฌ ๋ณ๊ฒฝ๋ ํ์ผ์ ์ฐพ๋๋ค.
STAGE (์คํ
์ด์ง ๋จ๊ณ): ๋ ๋ฒ์งธ stage ๋จ๊ณ์์๋ ์ฐ๋ฆฌ๊ฐ ๋ค์ ์ปค๋ฐ์ ์ถ๊ฐํ๊ณ ์ถ์ ํ์ผ์ ์์ ๋ ํ์ผ์ ์์น ์ํจ๋ค.
COMMIT (์ปค๋ฐ ๋จ๊ณ): ๋ง์ง๋ง ๋จ๊ณ์ธ commit ๋จ๊ณ์์๋ ์ฐ๋ฆฌ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํ ๋ ์คํ
์ด์ง์ ์์ ๋ ํ์ผ์ ๋ก์ปฌ ์ ์ฅ์์ ๋ณด๋ธ๋ค.
์์ ๋ ํ์ผ๋ค์ ์ปค๋ฐํ ํ์๋ ๋ก์ปฌ ์ ์ฅ์์์ ์๋ก์ด ๋ฒ์ ์ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ๋ค์ ์
๋ฐ์ดํธ ์ฌํญ๋ค์ ๋ฐ๊ณ ํ ๋ฒ ๋ '์์ 'ํ๊ณ '์คํ
์ด์ง'์ ์์น์ํค๊ณ ๋ค์ '์ปค๋ฐ'ํ ์ ์์ผ๋ฉฐ ์๋ก์ด ๋ฒ์ ์ ํ์ธํ๋ ๋ฑ์ ์์
์ ์ํํ ์ ์๋ค. (๊ทธ๋์ '๋ฌดํ' ํ๋ก์ฐ๋ผ๊ณ ํ ๊ฒ ใ
ใ
)
์ปค๋ฐ์ ์์ ๋ ํ์ผ์ ์ด์ ๋ฒ์ ์ ๋ฎ์ด์ฐ์ง ์์ผ๋ฉฐ, ๋ง์ง๋ง ๋ฒ์ ์ ๋ํ ํฌ์ธํฐ๊ฐ ์๋ ์ ๋ฒ์ ์ ํฌํจํ๋ฏ๋ก GIT์ ์ํด ํธ๋ํน๋๋ ๊ฐ ํ์ผ์ ๋ฒ์ ์ ์ถ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
6.1 ์ถ๊ฐํ๊ณ ์ปค๋ฐํ๊ธฐ(git add์ git commit)
๋ณต์กํ๊ฒ ๋ค๋ฆด์ง ๋ชจ๋ฅด์ง๋ง, ๋ฒ์ ์ ์ด ํ๋ฆ์ ์ํํ๋ ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค๋ค. ์ํ๋ ์์ ์ด ์๋ฃ๋์์ผ๋ฏ๋ก, ์ฐ๋ฆฌ๋ ์๋ ๋ช
๋ น์ผ๋ก ์ปค๋ฐํ๊ณ ์ ํ๋ ๋จ๊ณ์ ์์ ๋ ํ์ผ์ ์ถ๊ฐํ๋ค:
git add [filename]
git add -A : ๋ชจ๋ ์์ ๋ ํ์ผ์ ์คํ
์ด์ง์ ํ ๋ฒ์ ์ถ๊ฐgit add *. [extensão-do-arquivo] : ํน์ ์ต์คํ
์
ํ์ผ์ ์์ ๋ ํ์ผ์ ์คํ
์ด์ง์ ํ ๋ฒ์ ์ถ๊ฐ (git add *.html ๊ณผ ๊ฐ์ด)
์ฐ๋ฆฌ๋ git status ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ธ์ ๋ ์ง ํ์ฌ ๋ก์ปฌ ์ ์ฅ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค:
์ ํ์ผ์ ๋ง๋ ํ ์ ์ฅ์ ๋ด์์ git status ๋ฅผ ์คํํ๋ฉด ์ ํ์ผ์ด "Untracked (์ถ์ ๋์ง ์์)"์ผ๋ก ํ์๋๋ค. ์ฆ, ์ด ํ์ผ์ ์๋ก์ด ๊ฒ์ด๋ฉฐ GIT์ ์ํด ์ถ์ ๋๊ธฐ ์ํด์๋ ์ด๋ค ์ปค๋ฐ์๋ผ๋ ์ถ๊ฐ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
GIT๊ฐ ์ ์ฅ์ ๋ด์ ํน์ ํ์ผ์ด๋ ํด๋๋ฅผ ๋ฌด์ํ๋๋ก ํ ์ ์๋ค. ์ด๋ฅผ ์ํด์๋ ๋ฃจํธ ํด๋์ .gitignore๋ผ๋ ํ์ผ์ ์ถ๊ฐํ๊ณ , ๊ทธ ์์์ ๋ฌด์ํด์ผ ํ ํ์ผ์ด๋ ํด๋์ ์ด๋ฆ์ ์ ์ผ๋ฉด ๋๋ค.์ฃผ์ : ๋ฌด์๋ ํ์ผ๊ณผ ํด๋๋ ๋ ์ด์ GIT ํธ๋์ ๋ํ๋์ง ์์ผ๋ฉฐ, ์ฌ์ง์ด "Untracked "๋ก๋ ํ์๋์ง ์๋๋ค. ์ถ์ ์ ์ฌ์ค์ ํ๋ ค๋ฉด .gitignore ํ์ผ์์ ์ํ๋ ์ด๋ฆ์ ์ญ์ ํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
ํ์ผ์ ํฌํจํ๊ธฐ ์ํด git add ๋ช
๋ น์ ์ถ๊ฐํ ํ์ผ์ ์ด๋ฆ("index.html")์ผ๋ก ์คํํ ์ ์๋ค:
์ด๋ฌํ ๋ฐฉ์์ผ๋ก git status ๋ค์ ์คํํ๋ฉด ์ ํ์ผ์ด "stage"์ ์ถ๊ฐ๋์์ผ๋ฉฐ ์ต์ข
์ ์ผ๋ก ๋ค์ ์ปค๋ฐ์์ ๋ณด๋ผ ์ค๋น๊ฐ ๋์์์ ์ ์ ์๊ณ , ์ด๋ ์๋ ๋ช
๋ น์ ํตํด ์ํํ ์ ์๋ค:
git commit -m "[descriptive-message]"
์ปค๋ฐ์ ๊ณ ์ ID(ํด์ ์ฝ๋)๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ณ๊ฒฝํ ์ ์๋ค. ์ฆ, ์ปค๋ฐ์ ํ์ธ๋๋ฉด ์์ ํ ์ ์๋ค.git commit -a : ์ง์ ์ปค๋ฐ์ ์ํํ๋ฉฐ ๋ชจ๋ ์์ ๋ ํ์ผ์ ์คํ
์ด์ง์ ์ถ๊ฐํ๊ณ ์ปค๋ฐํ๋ค.
ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์ปค๋ฐํ ํ git status ๋ฅผ ์คํํ ๋ ๋ง์ง๋ง ์ปค๋ฐ ์ ํตํด ๋ชจ๋ ์์ ์ฌํญ์ด ๋ก์ปฌ ์ ์ฅ์์ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅ๋์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ์
๋ก๋ํ ์์ ๋ ํ์ผ์ด ์์์ ์ ์ ์๋ค.
๋ํ ํด์ ์ฝ๋, ๋ธ๋์น, ์์ฑ์, ๋ ์ง ๋ฑ ๋ชจ๋ ์ปค๋ฐ์ ์ผ๋ถ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ git log ๋ช
๋ น์ ์ฌ์ฉํด ์ ์ฅ์์ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๊ฒํ ํด ๋ณ๊ฒฝํ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
์ด ๋ชจ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ์ ํ์ผ์ ์ถ๊ฐํ๊ณ ์์ ํ ํ ์๋ก์ด ์ปค๋ฐ์ ๋ง๋ค์ด ๋ก์ปฌ ์ ์ฅ์๋ก ๋ณด๋ผ ์ ์๋ค.
git log -N : ๋ง์ง๋ง N๊ฐ์ ์ปค๋ฐ์ด ํฌํจ๋ log๋ฅผ ๋ณด์ฌ์ค๋ค.git log [branch-A] [branch-B] : "branch-B"์๋ ์์ง๋ง "A"์๋ ์๋ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ํ์ํ๋ค.git log --follow [filename] : ํ์ผ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ์๋ ์ง์ ํ ํ์ผ์ ๋ณ๊ฒฝํ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ํ์ํ๋ค.git diff : ์ ์ฅ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ๊ณผ ๋น๊ตํ์ฌ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋์ดํ๋ค.git diff [nome-do-arquivo] : ์ ์ฅ์์์ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฒ์ ๊ณผ ๊ด๋ จํ์ฌ ์ง์ ๋ ํ์ผ์ ๋ํด ์ํํ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ดํ๋ค.
6.2 ์ปค๋ฐ ์ ๊ณผ ํ์์ ๋ณ๊ฒฝ ์ฌํญ ์ทจ์ํ๊ธฐ
์ปค๋ฐ์ด ์ด๋ฃจ์ด์ง๊ธฐ ์ ์ ๋ก์ปฌ ์ ์ฅ์์์ ์ด๋ฃจ์ด์ง ๋ชจ๋ ๋ณ๊ฒฝ์ ์ทจ์ํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ์ปค๋ฐ์ด ํ ๋ฒ ์ด๋ฃจ์ด์ง๋ฉด ๋ณ๊ฒฝํ ์ ์๋ค. ์ปค๋ฐ์ ๋ถ๋ณ์ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ์ปค๋ฐ์์ ๋ฐ์ดํฐ๋ฅผ ํธ์งํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅ ํ๋ค.
๊ทธ๋ฌ๋ ๋ณ๊ฒฝ์ ์ทจ์ํ๋ ์๋ก์ด ์ปค๋ฐ์ ๋ง๋ค๊ฑฐ๋ ์ด์ ์ปค๋ฐ์์ ์๋ชป๋ ์ ๋ณด๋ฅผ ์์ ํ ์ ์๋ค. ์ด๋ ์ชฝ์ด๋ ์ฐ๋ฆฌ๋ ๋ค์ ๋ช
๋ น ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค:
git checkout -- [filename]
# ์ปค๋ฐ ์ ์ ๋ก์ปฌ ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ํ๊ธฐ(๋์ดํฌ ์ ์๋ ์์
)
git reset --hard HEAD
# ์คํ
์ด์ง ๋จ๊ณ(์ปค๋ฐ ์ )์ ์๋ ํ์ผ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ํ๊ธฐ
git reset --hard HEAD~1
# ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ํํ ๋ง์ง๋ง ์ปค๋ฐ์ ํ๊ธฐ(๋ง์ง๋ง ์ปค๋ฐ๋ง ํด๋น)
git commit --amend
# ๋ก์ปฌ ์ ์ฅ์์์ ์ํํ ๋ง์ง๋ง ์ปค๋ฐ์ ๋์ฒดํ์ฌ ์ ์ปค๋ฐ์ ์์ฑ
git revert [commit-hash]
# ์ง์ ํ ์ปค๋ฐ์ ๋ณ๊ฒฝ์ฌํญ์ ๋๋๋ฆฌ๋ ์ ์ปค๋ฐ์ ์์ฑ
7. ๋ธ๋์น์ ๋ํด ์์๋ณด๊ธฐ
๋ธ๋์น๋ ์ ์ฅ์์ ๊ฐ์ง์น๊ธฐ(ramification)์ ์ง๋์ง ์์ผ๋ฉฐ, ์ง๊ธ๊น์ง ๋ชจ๋ ์์
์ ๋ธ๋์น 'master/main'์์ ์ํ๋์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ ํฌ์งํ ๋ฆฌ์ ์์ฑ๋ ์ฒซ ๋ฒ์งธ ๋ธ๋์น๋ ๋ ํฌ์งํ ๋ฆฌ์ ๋ฉ์ธ ๋ธ๋์น์ธ master/main ์ด๋ค.
7.1 ์ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋๊ฐ?
์ฒ์์๋ ๋ณ๊ฒ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ง๋ง ๋ธ๋์น๋ ํ๋ก์ ํธ ๊ฐ๋ฐ์ ๋ง๋ํ ํ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ฐ๋ฆฌ๊ฐ ์น ํ๋ซํผ์ ๊ฐ๋ฐํ๊ณ ์๊ณ , ์๋ก์ด ๊ธฐ๋ฅ์ ํ
์คํธํ๊ณ ์ถ์ง๋ง, ์ฐ๋ฆฌ์ ์ ์ฅ์๋ ์ด๋ฏธ ํธ์คํธ๋์๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ๊ณ ์๊ณ , ์ด๋ค ๋ฌธ์ ๊ฐ ์๋ ๋ณ๊ฒฝ๋ค์ด ๊ทธ๊ฒ๋ค์๊ฒ ๋์ ๊ฒฝํ์ ์ผ๊ธฐํ ์ ์๋ค๊ณ ์๊ฐํด๋ณด๋ผ. ์ด ์ํฉ์์ ์ฐ๋ฆฌ๋ ๋ฌด์์ ํ ์ ์์๊น?
ํ๋ก์ ํธ ํด๋๋ฅผ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ณ ์๋ก์ด "ํ
์คํธ ๋ฒ์ "์ ๋ง๋๋ ๊ฒ์ ๋ํด ์๊ฐํด๋ณธ ์ ์ด ์๋ค๋ฉด, ๋ง๋ ๋ง์ด๋ค! ์, ๊ฑฐ์...
GIT๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฐ๋ฆฌ๋ ๋ธ๋์น๋ค๋ก ๋น์ทํ ์ผ์ ํ ์ ์๋ค. ๋ธ๋์น์ด๊ธฐ ๋๋ฌธ์, ์ฐ๋ฆฌ๋ ๋จ์ํ "ํ
์คํธ"๋ผ๊ณ ๋ถ๋ฆฌ๋ ์๋ก์ด ๋ธ๋์น๋ฅผ ๋ง๋ค ์ ์๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๋ฒ์ ์ ์์ ํ ๊ณ ๋ฆฝ๋ ๋ธ๋์น์์, main ๋ธ๋์น์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ฐ๊ฟ ์ค๋น๋ฅผ ํ๋ค.
7.2 ๋ธ๋์น ๋ง๋ค๊ธฐ (git branch)
๋ธ๋์น๋ฅผ ๋ง๋๋ ๊ฒ์ master/main ๋ธ๋์น์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋
๋ฆฝ์ ์ผ๋ก ์์
ํ ์ ์๋ ์ ์ฅ์์ ๋ณ๋ ฌ ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ฅผ ์ํด์ ์ฐ๋ฆฌ๋ ๋จ์ํ ์๋์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ๋๋ค:
git branch [branch-name]
ํน์ ๋ธ๋์น์ ์ด๋ฆ ์์ด git branch ๋ช
๋ น์ ์คํํ๋ ค๋ฉด ์ ์ฅ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ธ๋์น ๋ชฉ๋ก์ ํ์ํ๋ฉฐ, "*"์ ํ์๋ ํ์ฌ ์ฌ์ฉ ์ค์ธ ๋ธ๋์น๋ฅผ ๋ํ๋ธ๋ค.
git branch test ๋ช
๋ น์ ์คํํ๊ธฐ ์ ์ git branch ๋ช
๋ น์ master ๋ธ๋์น๋ง ๋ฐํํ๋ค.
git checkout [branch-name]
git checkout test ๋ช
๋ น์ ์คํํ ํ ํ์ฑ ๋ธ๋์น๊ฐ ์ ํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ ์๊ฐ๋ถํฐ ๋ชจ๋ ์ปค๋ฐ๋ ์ ๋ณด๋ ๋ธ๋์น master/main ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ ์ฅ์์ test ๋ธ๋์น๋ก ์ ์ก๋๋ค.
ํ์ํ ๋งํผ์ ๋ธ๋์น๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์๋ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ๋ธ๋์น์ ์ํธ ์์ฉํ ์ ์๋ค:git checkout -b [branch-name] -> ์ง์ ๋ ์ด๋ฆ์ผ๋ก ์ ๋ธ๋์น ๋ฅผ ๋ง๋ค๊ณ ์ง์ ๊ทธ ๋ธ๋์น๋ก ์ ํ ํ๋ค.git branch -d [branch-name] -> ์ง์ ํ branch๋ฅผ ์ญ์ ํ๋ค.git branch -m [new-name] -> ํ์ฌ branch์ ์ด๋ฆ์ ์ง์ ๋ ์ด๋ฆ ์ผ๋ก ๋ณ๊ฒฝํ๋ค.
7.3 ๋ธ๋์น ๋ณํฉํ๊ธฐ(git merge)
๋ค๋ฅธ ๋ธ๋์น ์์
์ ์๋ฃํ๊ณ ๋ณ๊ฒฝํ ๋ด์ฉ์ด ํ๋ก์ ํธ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์์๋ค๊ณ ํ์ ํ๋ค๋ฉด, ํ์ฌ ๋ธ๋์น์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ฌ master/main ๋ธ๋์น๋ก ๋ณํฉํ ์ ์๋ค .
๋ธ๋์น๋ฅผ ๋ณํฉํ๋ ค๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ ๋ธ๋์น๋ก ์ ํ ํ๊ณ ๋ค์ ๋ช
๋ น์ ์คํํด์ผ ํ๋ค.
git merge [branch-name]
# ์ง์ ๋ ๋ธ๋์น๋ฅผ ํ์ฌ ํ์ฑ๋ ๋ธ๋์น๋ก ๋ณํฉ
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ branch 'test'์ ์๊ธฐ ๋๋ฌธ์ git checkout ๋ช
๋ น์ด๋ฅผ ํตํด master ๋ธ๋์น๋ก ์ ํ ํด์ผ ํ๋ฉฐ git merge ๋ช
๋ น์ด๋ฅผ ๋ณํฉํ๊ณ ์ถ์ ๋ธ๋์น ์ด๋ฆ๊ณผ ํจ๊ป ์คํํด์ผ ํ๋ค. (์ฌ๊ธฐ์๋ 'test')
์ด๋ ๊ฒ ํ๋ฉด test ๋ธ๋์น์์ ์ํ๋ ๋ชจ๋ ์์
(์ด ๊ฒฝ์ฐ style.css ํ์ผ ์์ฑ)์ด master ๋ธ๋์น์ ๋ณํฉ๋๋ค.
7.4 ๋ณํฉ ์ถฉ๋
์๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ๊น ๋จธ์ง(git merge)๋ก ๋ณํฉํ ๋ ๋์ผํ ํ์์ ํ๋ ์ด์์ ํ์ผ์ด ๋ณ๊ฒฝ๋์ด ๋ณํฉ์ ์๋์ผ๋ก ์ํํ ์ ์๋ ๊ฒฝ์ฐ ์์ ์ผ๋ถ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด git status ๋ช
๋ น์ ์คํํ์ฌ ์ด๋ค ํ์ผ์ด ์ถฉ๋ํ๋์ง ํ์ธ ํ ์ ์๋ค.
์ฐ๋ฆฌ๋ ๋ณํฉ์ ์งํํ๊ธฐ ์ ์ ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํด์ผ ํ๋์ง ์ ์ํ๊ฑฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ์ฌ ์ํธ ํธํ๋๋๋ก ์ถฉ๋์ ํด๊ฒฐํด์ผ ํ๋ค. ์ด๋ฅผ ์ํด GIT๋ ์ถฉ๋ํ๋ ํ์ผ์ ๋ง์ปค๋ฅผ ์ฝ์
ํ์ฌ ํด๊ฒฐ์ ๋๋๋ค.
์ถฉ๋์ ํด๊ฒฐํ ํ ์์ ๋ ํ์ผ์ ๋ค์ ์คํ
์ด์ง์ ์ฌ๋ ค๋๊ณ ์๋ก์ด ์ถฉ๋ ์๋ ๋ฒ์ ์ ์ปค๋ฐํ๊ณ git merge ๋ช
๋ น์ ๋ค์ ์คํํ๋ฉด ๋ฌธ์ ์์ด ์ฑ๊ณต์ ์ผ๋ก ๋ณํฉํ ์ ์๋ค.
8. ์๊ฒฉ ์ ์ฅ์์ ๋๊ธฐํ
์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐํ๊ณ ๋ชจ๋ ์์
์ ์๊ฒฉ์ผ๋ก ๋๊ธฐํํ์ฌ ์ต์ ์ํ๋ก ์ ์งํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์๊ณ ์๋ค.
์ด๋ฅผ ์ํด git push ๋ช
๋ น์ด๋ฅผ ์คํํด ๋ก์ปฌ ์ ์ฅ์๋ก๋ถํฐ ๋ชจ๋ ์ปค๋ฐ์ ์๊ฒฝ ์ ์ฅ์๋ก ๋ณด๋ด์ผ ํ๋ค. ๊ทธ๋ฌ๋ ๋จผ์ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑ ํด์ผ ํ๋ค.
8.1 ์๊ฒฉ ์ ์ฅ์ ๊ตฌ์ฑํ๊ธฐ
์๊ฒฉ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฅผ ์ํด Github ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
๋จผ์ GitHub ๊ณ์ ์์ ๋น ์ ์ฅ์๋ฅผ ์๋ก ์์ํด์ผ ํ๋ค(์ด๋ฆ์ ์ ํํ๊ณ "Creating repository "๋ฅผ ํด๋ฆญํ๊ธฐ๋ง ํ๋ฉด ๋๋ค) :
๋ค์์ผ๋ก ์๊ฒฉ ์ ์ฅ์์ ๋ก์ปฌ ์ ์ฅ์์์ ๊ด๊ณ๋ฅผ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฐ๋ฆฌ์ ๋ก์ปฌ ์ ์ฅ์์์ ์คํํด ๊ตฌ์ฑํด์ผ ํ๋ค.
git remote add origin [remote-repository-url]
git remote -v : ๋ก์ปฌ ์ ์ฅ์์ ์ฐ๊ฒฐ๋์ด ์๋ ์๊ฒฉ ์ ์ฅ์์ URL ์ ๋ณด์ฌ์ค๋ค.
์๊ฒฉ ์ ์ฅ์๊ฐ ์ ์ ํ๊ฒ ์ฐ๊ฒฐ๋์๋ค๋ฉด, ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ๋ก์ปฌ ๋ธ๋์น master/main ์ ์ด๋ฆ์ git branch -m main ๋ช
๋ น์ด๋ฅผ ํตํด main์ผ๋ก ๋ฐ๊ฟ์ผ ํ๋ค(๋น์ ์ ๋ก์ปฌ ๋ธ๋์น๊ฐ ์ด๋ฏธ main ์ผ๋ก ๋ถ๋ฆฌ๊ณ ์๋ค๋ฉด ์ด ๋จ๊ณ๋ฅผ ๋ฌด์ํ๋ผ).
์ฐ๋ฆฌ๊ฐ push ํ๋ ๋ก์ปฌ ์ ์ฅ์์ ๋ฉ์ธ ๋ธ๋์น๋ฅผ ์๊ฒฉ ์ ์ฅ์์ ๋ฉ์ธ ๋ธ๋์น์ ๋์ผํ ์ด๋ฆ์ผ๋ก ์ ์งํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๋ง์ง๋ง์ผ๋ก ์์ ๋จ๊ณ๋ฅผ ์๋ฃํ ํ ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ฒ์์ผ๋ก ์๊ฒฉ ์ ์ฅ์์ ๋๊ธฐํ ํ ์ ์๋ค:
git push -u origin main
git push-u origin main ๋ช
๋ น์ ์คํํ ๋ GitHub credentials(์ฌ์ฉ์ ๋ฐ ์ก์ธ์ค ํ ํฐ)์ ์
๋ ฅํด์ผ ํ ์๋ ์๋ค.
๋ง์ฝ Github ์ก์ธ์ค ํ ํฐ์ด ๋ฌด์์ธ์ง ๋ชจ๋ฅธ๋ค๊ฑฐ๋ ํ๋์ ์ก์ธ์ค ํ ํฐ์ ์ค์ ํ์ง ์์๋ค๋ฉด ์ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ๋ผ.GitHub CLI ๋ฅผ ์ฌ์ฉํด ์ธ์ฆ์ ๊ตฌ์ฑํจ์ผ๋ก์จ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์๋ค. ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์ธ์ฆ(Authenticating )์ ํ ํ์๋ git push ์คํ์ด ์ฑ๊ณต์ ์ผ๋ก ๋์ด์ผ ํ๊ณ ๋ก์ปฌ ์ ์ฅ์์ ๋ชจ๋ ์ปค๋ฐ์ด ์๊ฒฉ ์ ์ฅ์์ ๋๊ธฐํ๋๋ค.
8.2 ์ฒ์ ์ดํ Git push (git push)
์์ ๋ชจ๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์น ํ์๋ ์๋์ ๊ฐ์ด ๋ณ๋์ ํ๋ผ๋ฏธํฐ ์์ด git push ๋ช
๋ น๋ง์ผ๋ก ์๋ก์ด ๋๊ธฐํ๋ฅผ ํ ์ ์๋ค.
์ด ๊ฒฝ์ฐ github CLI ๋ฅผ ์ด์ฉํ์ฌ git push ๋ช
๋ น ์คํ์ ํ์ํ ์ธ์ฆ์ ๊ฑด๋๋ฐ์๋ค. ์ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฐฉ๋ฒ์ ์ ์ ์๋ค.
8.3 ๋ก์ปฌ ์ ์ฅ์ ์
๋ฐ์ดํธํ๊ธฐ (git pull)
๋ถ์ฐ๋ ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฒฉ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ผ๋ฏ๋ก (์๊ฒฉ ์ ์ฅ์์์ ์ง์ ) ๋ก์ปฌ ์ ์ฅ์๊ฐ ์ค๋๋ ์ํ์ผ ์ ์๋ค.
์ด๋ฅผ ๊ณ ๋ คํ ๋, ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์
๋ฐ์ดํธํ๊ณ ์๊ฒฉ ์ ์ฅ์์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋๊ธฐํํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ฉฐ ๋ก์ปฌ ํ๋ก์ ํธ๋ฅผ ํญ์ ์๊ฒฉ ์ ์ฅ์์์ ์ฌ์ฉํ ์ ์๋ ์ต์ ๋ฒ์ ์ผ๋ก ์ ์ง ํด์ผ ํ๋ค. ์ด ์์
์ ์ํํ๊ธฐ ์ํด ๋ค์ ๋ช
๋ น์ ์คํํ๋ค:
git pull
์๋ก์ด README.md ํ์ผ์ด ์ฐ๋ฆฌ์ ์๊ฒฉ ์ ์ฅ์์ ์ง์ ์์ฑ๋์ด ์ฐ๋ฆฌ์ ๋ก์ปฌ ์ ์ฅ์๊ฐ ์
๋ฐ์ดํธ๋์ง ์์๋ค๊ณ ์๊ฐํด๋ณด๋ผ.
์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ git pull ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ ์ฅ์๋ก๋ถํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ก์ปฌ ์ ์ฅ์ ๋ด์์ ๋๊ธฐํํ ์ ์๋ค.
์ฒ์ 7๊ฐ์ ํ์ด git pull ๋ช
๋ น์ ์คํํ ๋ git fetch ๋ช
๋ น์ return ๊ฐ์ด๋ค. ์ฆ, git fetch ๋ช
๋ น์ ๋จผ์ ์คํํ์ง ์๊ณ git pull ๋ช
๋ น์ ์คํํ๋ฉด GIT๋ ๋ ๋ค ํจ๊ป ์คํํด ์๊ฒฉ ์ ์ฅ์์์ ์
๋ฐ์ดํธ๋ฅผ ์ฐพ์ ๋ก์ปฌ ์ ์ฅ์์ ๋๊ธฐํํ๋ค.git fetch -> ์๊ฒฉ ์ ์ฅ์์์ ์
๋ฐ์ดํธ๋ฅผ ๊ฐ์ ธ์ค์ง๋ง ๋ก์ปฌ ์ ์ฅ์๋ฅผ ๋๊ธฐํํ์ง๋ ์์ต๋๋ค(git pull์ด ํ์ํจ).
9. ๊ฒฐ๋ก
์ฌํ๊น์ง์ ๋ชจ๋ ๊ฒ์ GIT ์ด ํ๋ก๊ทธ๋๋จธ์ ์ผ์์ํ์์ ํ์ํ ๋ฒ์ ์ ์ด ์์คํ
์ด๋ผ๋ ํ์ ์ ๊ฐ๊ฒ ํ๋ฉฐ, GIT์ ์ฃผ์ ๋ช
๋ น๊ณผ ์ฌ์ฉ๋ฒ์ ์๋ ๊ฒ์ด ์ฐ๋ฆฌ์ ๊ธฐ์ ์ ์ฐ๊ณต์์ด์ ์ ํ์ ์ด ๋ ์ ์๋ค๋ ์ ์ด๋ค. ๋ง์ง๋ง์ผ๋ก, ๋ก์ปฌ ๋ฐ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋๊ธฐํํ๊ณ ์
๋ฐ์ดํธํ๋ฉฐ ์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ชจ๋ ๊ฒ์ ๋ฐํ์ผ๋ก ์ด ๋๋ผ์ด ๋ฒ์ ์ ์ด ์์คํ
์ ์ค์ฉ์ฑ์ ๊ณ์ ๋ฐ์ ์ํฌ ์ค๋น๊ฐ ๋์ด ์๋ค.
10. ์ฐธ์กฐ