- Git /Github ๋?
- VCS(Version Control System)์ด๋?
- repository ์์ฑ + ๊ด๋ จ ๋ช ๋ น์ด(git init, git add remote, git remote -v)
- local repository / remote repository
- git clone vs. git pull ๊ฐ๋ ๋ฐ ์ฐจ์ด์
- branch์ ๊ฐ๋ + ๊ด๋ จ ๋ช ๋ น์ด(branch ์์ฑ, branch ์ด๋, branch ์ ๊ฑฐ)
- git staging ์ค๋ช + ๊ด๋ จ ๋ช ๋ น์ด(add, commit, push)
- conflict๋ ์ธ์ , ์ ๋ฐ์ํ๋๊ฐ? ์ด๋ป๊ฒ ํด๊ฒฐํ๋๊ฐ?
Git ์ VSC ( Version Control System) ์ด๋ค.
ํด์์ ํด๋ณด๋ฉด ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ์์คํ
์ธ๋ฐ ์ฌ๊ธฐ์์ ๋ฒ์ ์ ์์ค์ฝ๋๋ฅผ ๋งํ๋ค. ๊ทธ๋ฌ๋ฉด ์์ค์ฝ๋ ๋ฒ์ ์ด๋ ๋ฌด์์ผ๊น? ๋ฐ๋ก ์์ค ์ฝ๋์ ๋ณ๊ฒฝ์ฌํญ๋ค์ ๋ํ ๋ฒ์ ์ด๋ค. ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์์ ๋์๋์ง, ์ด๋ค ๊ฒ์ด ์๊ฒผ๋์ง์ ๋ํ ๊ฒ๋ค์ด๋ค.
๊ทธ๋ฐ๋ฐ ์ ์ด๋ฐ ์ฝ๋์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ๋ค์ ๊ด๋ฆฌํด์ผ ํ ๊น? ์ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ๊น์ง ๋ง๋ค๋ฉด์? ๊ทธ๋ฅ ์ฝ๋ฉ๋ง ํ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ? ๋ผ๋ ์๋ฌธ์ ์ด ์๊ธธ ์๋ ์๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๋ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์์ด ์ผ์ ํด์ผ ํ๋ค๊ณ ์๊ฐํด๋ณด์.
์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฌธ์๋ฅผ ์์ฑํ๊ฑฐ๋ ํ๋ก์ ํธ๋ฅผ ์ํด์ PPT๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ์ํฉ์ด๋ผ๋ฉด ๊ทธ ๋ง๋ค์ด์ง๋ ๊ณผ์ ์ด ์ฒ์๋ถํฐ ๋๊น์ง ๋ฑ ํ๋ฒ์ ๋๋ ๊ฒ์ ์๋ ๊ฒ์ด๋ค.
์ต์ข
๋ณธ 1.
์ต์ข
๋ณธ 1_1
์ง์ง ์ต์ข
๋ณธ
์ง์ง์ง์ง ์ต์ข
๋ณธ
....
์ฝ๋ฉ์ ํ ๋ ๋ง๋ค ์ด๋ฐ์์ผ๋ก ์์์ ์ผ๋ก ์ ์ฅ์ ํด์ผ ํ๋ค๋ฉด ์ ๋ง ๊ณ ํต์ค๋ฝ๊ฒ ์ฃ ? ํ์ง๋ง VCS๋ ์ด๋ฐ ์ํฉ์ด ์๊ธฐ์ง ์๋๋ก ์์ค ์ฝ๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํด์ค๋๋ค.
์ง๊ธ ์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์ ๋ฐฐ์ธ๋๋ถํฐ Git๊ณผ ํจ๊ป ์์์ ํด์ Git ๋ฐ์ ์์๊ฑฐ๋ผ๊ณ ์๊ฐํ์ง๋ง Git์ ์ฝ 10๋ ์ ๋ถํฐ ๋ง์ด ์ฐ์ด๊ฒ ๋ ๊ฒ์ด๋ฉฐ ๊ทธ ์ ์๋ ๋ค๋ฅธ VCS๊ฐ ์์๋ค๊ณ ํฉ๋๋ค. ํ์ง๋ง Git์ด ๋ค๋ฅธ ์์คํ ๋ณด๋ค ๋ ํธํ๊ณ ํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ ๋๋ถ๋ถ์ ๊ฐ๋ฐ์๋ค์ด ๊น์ ์ด๋ค๊ณ ํ๋ค์.
Q. ๊ทธ๋ผ ์ Git์ ์ฐ๋ ๊ฒ์ผ๊น?
์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ์ฐ๋ ๊ฒ์ด ์๋ ์๋ก์ด ๊ฒ์ ์ฐ๊ฒ ๋๋ค๋ฉด ๊ทธ๋งํผ ๋ฐฐ์์ผ ํ๋ ๊ฒ๋ ๋ง๊ณ ์ตํ์ผ ํ๋ ๊ฒ๋ ๋ง์ ๊ฒ์ ๋๋ค. ์ ๋ ์๋์ฐ๋ฅผ ์ฐ๋ค๊ฐ ๋งฅ์ผ๋ก ๋ฐ๊พธ์๋๋ ํค๋ณด๋๋ถํฐ ์์ํด์ ํฐ์นํจ๋ ์กฐ์ ๋ฑ ์๋ก์ด ๊ฒ์ ๋ฐฐ์์ผํ๊ณ ๊น์์ผ ํ๋ ๊ฒ๋ค๋ ์์ด์ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ์ต๋๋ค. ์ด๋ ๊ฒ ์๋ก์ด ๊ฑธ ๋์ ํ๋ฉด ํ์ฌ ์ ์ฅ์์๋ ๊ทธ๋งํผ์ ๋น์ฉ์ด ์๊ธฐ๊ฒ ๋๋๋ฐ์ ์ ๊ธฐ์กด์ ์ฌ์ฉํ๋ ๊ฒ๋ค์ ๋๊ณ Git์ผ๋ก ๋์ด์์๊น์?
์๋ํ๋ฉด Git์๋ Version control ๋ฟ๋ง ์๋๋ผ ๊ทธ ์ด์์ ๊ธฐ๋ฅ๋ค์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ ์ค ํต์ฌ์ ๋ฐ๋ก ํ์
์ธ๋ฐ์.
๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ํ๋์ ์ฝ๋ ๋ฒ ์ด์ค๋ฅด ๊ฐ์ง๊ณ ๊ฐ๋ฐ์ ํ ์ ์๋ค๋ ์ ์ด ํฐ ์ฐจ์ด์์ต๋๋ค. ํ์ผ๋ก ์ผํ๋ ๊ฐ๋ฐ์๋ค์ด ๊ฐ์ ๊ฐ๋ฐ์ ํ๋ค๊ฐ ๊ทธ๊ฑธ ํ๋์ ๋ ํ์งํ ๋ฆฌ์ ํฉ์น๋ ค๊ณ ํ์ ๋, ๋ค๋ฅธ ์์คํ
๋ค์ ์ด๋ ค์ ์ง๋ง Git์ ๋น๊ต์ ์ฝ๊ธฐ ๋๋ฌธ์
๋๋ค.
Q. ํ์ ๊ณผ Git & Github
Git์ด ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ด๋ผ๋ฉด
Github๋ ๊ทธ ๊น์ ์ธํฐ๋ท์ ๋์ด ์ค์ ์๋ฒ์
๋๋ค.
๊น์ด ํธํ๋ค๋ฉฐ, ๊ทธ๋ผ ๊น๋ง ์ฐ๋ฉด ๋๋๊ฑฐ์ง ์ ์ค์ ์๋ฒ๊ฐ ํ์ํด? ๊ทธ๋ฅ ์ฐ๋ฆฌ๊ฐ ๊ด๋ฆฌํ๋ฉด ์๋๋ ๊ฑด๊ฐ? ๋ผ๋ ์๊ฐ์ด ๋ค ์๋ ์์ต๋๋ค.
์ ๋ง์ฝ, ๊ฐ๋ฐ์ 10๋ช ์ด ๊ฐ์ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์ผ์ ํ๋ค๊ณ ํ๋ฉด, ๊ทธ ์์ ์ ํ ๋ ๊ธฐ์ค์ด ๋๋ ์ฝ๋๊ฐ ์์ด์ผ ํ๊ฒ ์ฃ .
์ ๊ฐ ๋ํ์์ผ ๋, ๋์ค๋ฌธํ์ ๋ํ ์์ ์ ๋ค์๋๋ฐ ํ๋ณ๋ก ๋๋์ด์ ธ ๊ฐ์ ๊ฐ์ ๋ด์ฉ์ ์ฑ ์ ์ฝ๊ณ ํ ๋ก ์ ํ ํ ๊ทธ์ ๋ํ ๋ด์ฉ์ ์ฌ๋ฆฌ๋ ๊ณผ์ ๊ฐ ์์๋๋ฐ์. ๊ต์๋๊ป์๋ ๊ทธ ์ฌ๋ฆฌ๋ ํ์ผ์ ํ์๊ณผ ์์๋ฅผ ์ฌ๋ ค์ฃผ์ จ์ต๋๋ค. ํ์๋ค์ ๊ทธ ํ์์ ๋ง์ถฐ์ ๊ธ์ ์ฌ๋ ธ์์ฃ . ๊ทธ ๋น์์๋ ์๋นํ ๊ท์ฐฎ๊ฒ ๋๊ปด์ก์ง๋ง ๋์ค์ ํ์ผ์ ์ ๋ฆฌํด ๋ณด๋ ๋ชจ๋๊ฐ ๊ฐ์ ํ์์ผ๋ก ์ฌ๋ ค์ ํ๋ฒ์ ํฉ์น๊ฑฐ๋ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ๊ฐ ๊ต์ฅํ ํธํ๋ ๊ธฐ์ต์ด ์์ต๋๋ค.
์ฝ๋์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ธฐ์ค์ด ๋๋ ๋ ํ์งํ ๋ฆฌ(Repository ๋ผ์ ์ค์ฌ์ Repo)๊ฐ ์๋๋ฐ์.
์ด๋ฐ ์ค์ ์ฝ๋ ๋ ํ์งํ ๋ฆฌ๊ฐ ์์ผ๋ฉด ์ด ๋ ํ์งํ ๋ฆฌ์๋ ๋ชจ๋ ์ฌ๋์ด ์ ๊ทผ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ์ฆ, ์ค์ ์๋ฒ๊ฐ ํ์ํ ๊ฒ์ด์ฃ . Github๋ ๊ทธ ์ค์ ์๋ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค.
์ฐ๋ฆฌ๋ Github๋ฅผ ์ฐ์ง ์์๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ์๋ฒ๋ฅผ ๋์์ ๊ทธ๊ฑธ ์ค์๋ ํ์งํ ๋ฆฌ ์ผ์์ ์ผ์ ํ ์๋ ์๊ฒ ์ง๋ง ๊ทธ๋ด ๊ฒฝ์ฐ์๋ ๊ด๋ฆฌํด์ผ ํ๋๊ฒ๋ ๋ง๊ณ ํด์ผ ํ๋ ์์
๋ ๋ง์์ ํธ๋ฆฌํ๊ณ ๊ฐ๊ฒฉ์ ์ผ๋ก๋ ๊ด์ฐฎ์ Github๋ฅผ ์ฐ๋ ๊ฒ์ด์ฃ .
๋ Github์๋ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์์ค๋ฅผ ๋ณผ ์ ์๋ค๋ ์ง ํ์ ๊ด๋ฆฌํ ์ ์๋ค๋ ์ง ๋ฆฌ๋ทฐ๋ฅผ ์ธ ์ ์๋ค๋ ์ง ํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณ ์์ผ๋ ์์ธ ์ด์ ๊ฐ ์๊ฒ ์ฃ ?
์ด๋ฐ ๊ท์ฌ์ด ๊ณ ์์ด๋ ๋ณผ ์ ์๊ตฌ์...?
local vs server
์์ด์ ์ค์ ์๋ฒ์ ์๋ ์ฝ๋๋ก ์์
์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฐ์ ๊ทธ ์ค์ ์๋ฒ์ ์๋ ์์ค๋ฅผ ๋ด ์ปดํจํฐ (local)๋ก ๋ค์ด๋ฐ๊ฒ ์ฃ ? ์ด๋ ์ฐ๋ฆฌ๊ฐ ํ๋ ์์
์ด ๋ฐ๋ก Clone( ๋ณต์ ) ์
๋๋ค.
๋งคํธ๋ฆญ์ค์ ๋ณต์ ์ธ๊ฐ์ฒ๋ผ...ํต์งธ๋ก ๋ณต์ ๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์ฐ๋ฆฌ์ ๋ก์ปฌ์์ ์์
์ ํ๊ณ ๊ทธ ์์
์ด ๋๋๋ฉด ๋ค์ ์๋ฒ์ ์ฌ๋ ค์ผ๊ฒ ์ฃ ?
๊ทธ๋ ํ๋ ์์
์ด push ์
๋๋ค.
my local => server ( github)
์ด๋ ๊ฒ ์ค์ ์๋ฒ์ push ํด์ ์ฌ๋ผ๊ฐ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ๊ทธ ์ต์ ์์ค๋ฅผ ๋ฐ๊ฒ ์ฃ ? ์ด๋ ์ด๋ฃจ์ด ์ง๋ ์์ ์ด (pull) ์ ๋๋ค.
์ฌ๊ธฐ์ ๊ธฐ์ตํด์ผ ํ ๊ฒ์, ์ฒ์์ ํ๋ ์์ ์ clone์ด์๊ณ , ์ต์ ์ ์ฝ๋๋ฅผ ๋ฐ๋ ๊ฒ์ clone์ด ์๋ pull ์ด๋ผ๋ ์ ์ ๋๋ค.
๋ชจ๋ ์์ ์ ์ค์ ์๋ฒ์์ ์ผ์ด๋๋ ๊ฒ์ด ์๋๋ผ ๋ก์ปฌ ์ปดํจํฐ์์ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์์ด๋ ์๋ฒ๊ฐ ์๋ ๋ด ๋ ธํธ๋ถ์์๋ง ์ผ์ด๋ฉ๋๋ค. ๋๋ฌธ์ ๋ค๋ฅธ ๊ฐ๋ฐ์์๊ฒ ์ํฅ์ด ๊ฐ์ง ์์ต๋๋ค.
๊ฐ๋์ฉ ์ฐ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ๋ค๊ฐ ๋ค๋ฅธ ์ฌ๋๊ณผ ์ฝ๋๋ถ๋ถ์ด ๊ฒน์ณ์ ์ฌ๋ฆฌ๋ค๊ฐ ์ถฉ๋(conflict)์ด ์ผ์ด๋๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ ๋ํ ์ค์ ์๋ฒ๊ฐ ์๋ ์ฐ๋ฆฌ์ ์ปดํจํฐ ( ๋ก์ปฌ)์์ ์ผ์ด๋๋ ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ค์ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์์ต๋๋ค.
๊ฐ์๊ธฐ ๊นํ๋ธ๊ฐ ์๋ฒ๊ฐ ๋ค์ด๋๋ ์ํฉ์ด ๋ฐ์ํ๋ค๊ณ ํ๋๋ผ๊ณ ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ์ปดํจํฐ๋ฅผ ์์ ์๋ฒ๋ก ํ๊ณ ๊ทธ ์๋ฒ๋ก ๋ชจ๋ ๊ฒ์ ๋ณด๋ด์ ๋ฐฐํฌํ๋ ์์ ๋ ํ ์ ์์ต๋๋ค.
์์ ์ด ๋ ์ํ
์ค๊ฐ ์ ์ฅ ์ํ
( git add)
๋ฉ์ธ ๊น ํ๋ธ์ ์ ์ฅ์ด ๋๋ค.
์์
์ ๋ง๋ค๊ณ ๋ฐ๋ก ์ปค๋ฐ์ ํด์ผ ํ๋๋ฐ ์ staged๋ผ๋ ์ค๊ฐ ๋จ๊ณ๊ฐ ํ์ํ๊ฐ?
๋ผ๋ ์๋ฌธ์ ์ด ๋ค ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ปค๋ฐ์ ํ๋ค๋ ๊ฒ์ ์์ ์ด ๋๋ฌ๋ค. ์์ฑํ๋ค๋ ์๋ฏธ๋ก ๋ด๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง์ฝ ์์ ์ ํ๋ค๊ฐ ์ฐ๋ฆฌ๊ฐ ์ค๊ฐ ์ ์ฅ์ ํ์ง ์์ผ๋ฉด ์์ ํ ๋ด์ฉ์ ๋๋๋ฆฌ๊ฑฐ๋ ํ๋ ์ผ์ด ์์ฃผ ํ๋ค์ด ์ง๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ด๋ค ์์ ์ ํ๋ค๊ฐ ๋ ๋ผ๊ฐ๊ฒ์ ๋๋นํด์ ์ต๊ด์ ์ผ๋ก control s๋ก ์ ์ฅ์ ํ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง์ธ ๊ฒ์ด์ฃ .
๋ชจ๋ ์ปค๋งจ๋ ๋ผ์ธ์๋ git์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ด๊ฐ๋๋ค.
git init
์ด ํ์ผ์ ๊น์ผ๋ก ๊ด๋ฆฌํ๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
git add
์ค๊ฐ ์ ์ฅ (staged)
git status
git diff
์์ ํ ๋ด์ญ์ ๋ณด๊ณ ์ถ์ ๋ (modified ์ผ๋๋ง ๋ณผ ์ ์์)
git status
์ด๋ค ํ์ผ์ ์ฐ๊ณ ์๋์ง ์ด๋ค๊ฑธ ๋ธ๋์น ํ๋์ง
git log
์์ ํ ํ์คํ ๋ฆฌ๋ฅผ ๋ณด๊ณ ์ถ์ ๋
git rm
์ญ์ ํ๊ธฐ
git mv
์์ง์ด๊ฑฐ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ๋
-Branch Merging
๊น์ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค.
๋ชจ๋ ๊ฒ์ ๊ธฐ์ค์ด ๋๋ ๊ธฐ๋ฅ์ด ๋ฐ๋ก master ์ด๋ฉฐ, branch๋ ๊ทธ ๊ธฐ๋ฅ์ผ๋ก ๋ถํฐ ๋ป์ด์๋๊ฐ๋ ๊ฒ์ด์ฃ . branch ํ๋ค๋ ๊ฒ์ master์์ ํ๋๋ฅผ ๋ฐ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ณดํต ์์
์ ํ ๋ master์์ ์์
์ ํ์ง ์๊ณ branch๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์์ ์์
์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ branch๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์ ์์
์ ํด์ผ ํ๋ ๊ฒ์ผ๊น์?
์ฐ๋ฆฌ๊ฐ ํ์
์ ํ๊ฒ ๋๋ฉด ์ ๋ง์ ์ฌ๋๋ค์ด ์์
์ ํ๊ณ ์์ ์ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ ๊ธฐ์ค์ด ๋๋ master๋ฅผ ๋์์ผ๋ก ์์ ์ ํ๊ณ ์ปค๋ฐ์ ํ๊ฒ ๋๋ฉด ๊ทธ ์ค์ฌ์ด ๋๋ ๊ฒ์ ๊ณ์ํด์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธฐ๊ณ ๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ ๊ธฐ์กด์ ๊ฒ๋ค์ ์ํฅ์ด ๊ฐ๊ฒ ์ฃ . ๋๋ ์์ง ์์
์ ๋ง์น์ง ์์๋๋ฐ ๋ค๋ฅธ ์ฌ๋์ด master์ ์ปค๋ฐ์ ํด๋ฒ๋ฆฐ๋ค๋ฉด ๋ด ์์
์ ์ํฅ์ด ๊ฐ๊ฒ์
๋๋ค.
๊ทธ๋์ master์์ branch๋ฅผ ๋ฐ๋ก ๋ง๋ค๊ณ ๊ทธ branch๋ฅผ ๋์์ผ๋ก ์์
์ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ณดํต์ ์์
์ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์ด์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์ด์ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์์
์ ํ๋ ๊ฒ์ feature branch ๋ผ๊ณ ํฉ๋๋ค.
feature(๊ธฐ๋ฅ)๋ณ๋ก ์์
์ ํ ํ์๋ ๋ค์ master ์ ์ฌ๋ ค์ ์๋์ ๊ฒ๋ค๊ณผ ํจ๊ป ํฉ์น๊ฒ ์ฃ ? ์ด๋์ ์์
์ Merging, ํฉ์น๋ค๊ณ ํฉ๋๋ค.
์ฌ๊ธฐ์ merging ๋ํ ์ค์ ์๋ฒ๊ฐ ์๋ ์ฐ๋ฆฌ์ ์ปดํจํฐ์์ ์ผ์ด๋๋ ์์
์
๋๋ค.
์ฌ๊ธฐ์ ํฉ์น๋ค๋ ๊ฒ์ 1 + 1 = 2 ์ ๊ฐ์ ๋ํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ ์์ ์ฌํญ์ ๋ฎ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ฝ ๋ค๋ฅธ ์ฌ๋๊ณผ ํ ์์ ์์ ๊ฒน์น๋ ๋ถ๋ถ์ด ์ผ์ด๋๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น์? ์ด์ ๊ฐ์ด ๊ฐ์ ์์ ์ฌํญ๋๋ฌธ์ ์ฝ๋๊ฐ ์ถฉ๋ํ๋ ์ํฉ์ conflict ๋์๋ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊น์ ์ด ๊ฒน์น๋ ๋ถ๋ถ์ ๋ํด์ ์๋ ค์ฃผ๋ฉฐ ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง ๋ฌผ์ด๋ด ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๊ทธ ๋ถ๋ถ์ ๋ณด๋ฉด์ ์๋๋ฐฉ๊ณผ ํจ๊ป ์์ ์ ํด์ผ ํ์ฃ . ์ด๊ฒ์ conflict ์ด ๋ ๊ฒ์ ํด๊ฒฐํ๋ค๊ณ ํฉ๋๋ค.
์ด๋ฐ ์ถฉ๋์ด ๋๋ ๊ฒ์ Pull์ ํ๋ ์ํฉ์
๋๋ค. ์ฐ๋ฆฌ๋ ์์ ์ฌํญ์ ์ฌ๋ฆด๋ pull์ ํด์ผ ํฉ๋๋ค. ๋ง์น ๋ธ๋์น๊ฐ ์ด๋ ๊ฒ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ฃ . "์ผ ์ฐ๋ฆฌ ์ด๊ฑฐ ์
๋ฐ์ดํธ ๋์์ผ๋๊น ์ต์ ์ฝ๋ pullํด์ ๊ทธ๊ฑฐ ํฌํจํ ๋ค์์ push ํด์ค"
๊ทธ๋์ ์ต์ ์ฝ๋๋ฅผ pull์ ํ๋ ค๊ณ ํ๋๋ฐ ๊ทธ ์ต์ ์ฝ๋์ ๋ด๊ฐ ์์
ํ ํ์ผ๊ณผ ๊ฒน์น๋ ๋ถ๋ถ์ด ์๊ธฐ๋ ๊ฒ์ด conflict ์ธ ๊ฒ์ด์ฃ .
master branch์ commit์ ํ๋ค๋ ๊ฒ์ ํ์ฌ์ ํต์ฌ ์ญํ ์ ํ๋ ์ฝ๋์ ๋์ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฑ
์๊ฐ์ด ๋ฐ๋ฅด๋ ํ๋์
๋๋ค. ๋๋ฌธ์ ๋ด๊ฐ ์ํ๋ ํ์ผ๋ค๋ง ์ฌ๋ฆฐ๊ฒ ๋ง๋์ง. ์ ๋์๊ฐ๋์ง. ํ๋ ๊ฒ๋ค์ ์ ์ฒดํฌํด์ผ ํฉ๋๋ค.
๋ด๊ฐ ๋ง์ฝ ์ฌ๋ฆฌ๊ณ ์ถ์ง ์๊ฑฐ๋ ์ฌ๋ผ๊ฐ๋ฉด ์๋๋ ํ์ผ๋ค์ gitignore ์ด๋ผ๋ ํ์ผ์ ๋ง๋ค์ด ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ํ ์ฌ์ดํธ(https://www.linuxnix.com/what-are-the-top-version-control-systems/)