
Git์ผ๋ก ํ์ ํ๊ธฐ Maintainer : ๊น๋ฉ์์ ํน์ ํ๋ก์ ํธ์ ์ต์ข ๊ด๋ฆฌ์๋ฅผ ์๋ฏธํ๋ ๋จ์ด๋ก, ํ๋ก์ ํธ์ ๊ดํ ๊ฐ์ฅ ๋ง์ ๊ถํ์ ๊ฐ๊ณ ์๋ ์ฌ์ฉ์ ๋ฑ๊ธ์ ๋ํ๋ Maintainer๋ ์ ๊ท ๊ฐ๋ฐ์๊ฐ ํ์ ์ ์ฑํ๋ค๋ฉด, ๊ทธ ๊ฐ๋ฐ์๋ฅผ ๊น๋ฉ์ ์ถ๊ฐํ๊ณ ๊ถํ์ ๋ถ์ฌํ ์ ์์. ์ดํ ์๋์ ํ๋ก์ ํธ์ ๋๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์ ๊ท ๊ฐ๋ฐ์์ ๊ณ์ ์๋์ ๋ณ๋๋ก ์์ฑ(๋ณต์ )ํจ. ์ด์ฒ๋ผ ์๋ณธ ํ๋ก์ ํธ์ ๋ณต์ ๋ณธ์ ๋ง๋๋ ๊ฒ์ Fork ํ๋ค๊ณ ํจ. ์ ๊ท ๊ฐ๋ฐ์๋ ๋ณต์ ๋ ํ๋ก์ ํธ๋ฅผ git clone์ ํตํด ์์ ์ ์ปดํจํฐ์ ๊ฐ์ ธ์จ ๋ค ์ ์ปค๋ฐ๋ค์ ์ถ๊ฐํ๊ณ ์์ ์ ๋ณต์ ๋ณธ ํ๋ก์ ํธ์ git push๋ฅผ ํจ. ๊ทธ ๋ค์, ๋ณต์ ๋ณธ ํ๋ก์ ํธ์์ ์๋ณธ ํ๋ก์ ํธ์ Merge Request๋ฅผ ๋ณด๋. Merge Request : ๋ณต์ ๋ณธ ํ๋ก์ ํธ์ ..

Branch๋? ํน์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ 'ํฌ์ธํฐ' ๋ธ๋์น๋ ํ๋์ ํ๋ก์ ํธ์์ ์๋ก ๋ค๋ฅธ ๊ฐ๋ฐ ํ๋ฆ์ ๋ณ๋ ฌ์ ์ผ๋ก ๊ฐ์ ธ๊ฐ๊ธฐ ์ํด ์ฌ์ฉํจ. ์ฐ๋ฆฌ๊ฐ ์ด๋ค ํ๋ก์ ํธ๋ฅผ ๊น์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ ํ๋ฉด ์ด๊ธฐ์ ์๋ ์ ํ ๋๋ ๊ธฐ๋ณธ ๋ธ๋์น = master ๋ธ๋์น ๊ทธ๋ฆฌ๊ณ ํค๋๋ ๋ณดํต ๋ธ๋์น๋ฅผ ํตํด ํน์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๊ฒ ๋จ. ๋ณดํต master ๋ธ๋์น์๋ ์ค์ ์๋น์ค์ ๋ฐฐํฌํ ์ ๋๋ก ์์ฑ๋ ์ปค๋ฐ๋ค๋ง ๋๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ง๋ค์ด์ง ์ปค๋ฐ๋ค์ ๋ค๋ฅธ ๋ธ๋์น์ ๋๋ ๊ฒ์ด ์ข์. Branch ์์ฑํ๊ธฐ 'git branch ๋ธ๋์น ์ด๋ฆ'์ ์ ๋ ฅํด์ฃผ๋ฉด ๋ธ๋์น ์์ฑ ์๋ฃ - ๋ธ๋์น๋ฅผ ์๋ก ์์ฑํ๋ฉด ํค๋๊ฐ ๊ฐ๋ฆฌํค๋ ์ปค๋ฐ์ ๊ทธ๋๋ก ๊ฐ๋ฆฌํค๊ฒ ๋จ $ git branch {branch_name} Head๋ฅผ ๋ค๋ฅธ Branch๋ก ์ฎ๊ธฐ๊ธฐ 'git checko..

ํ๋ก์ ํธ๋ฅผ ์ปดํจํฐ์์ ์ธ๋ถ ์ ์ฅ์๋ก ์ ๋ก๋ํ๋ค๋ฉด? (๊นํ๋ธ/๊น๋ฉ ์ฌ์ฉ ์ ์ฅ์ ) 1. ํ๋ก์ ํธ ๋ณต๊ตฌ ๊ฐ๋ฅ - ๋ด ์ปดํจํฐ์ ๋ฌธ์ ๊ฐ ์๊ฒจ ํ๋ก์ ํธ๊ฐ ์ฌ๋ผ์ ธ๋ ์ธ๋ถ ์ ์ฅ์์ ์ฌ๋ ค๋์๋ ํ๋ก์ ํธ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ค. 2. ํ์ ๊ณผ ๋์์ ๋ฒ์ ๊ด๋ฆฌ ๊ฐ๋ฅ - ๋ด๊ฐ ์ปค๋ฐ 3๊น์ง ํ๊ณ ์ธ๋ถ ์ ์ฅ์์ ์ฌ๋ ค๋๋ฉด ๋ค๋ฅธ ํ์์ด ๊ทธ ํ๋ก์ ํธ๋ฅผ ์๊ธฐ ์ปดํจํฐ๋ก ๊ฐ์ ธ๊ฐ์ ์ปค๋ฐ 5๊น์ง ๋ง๋ค๊ณ ๋ค์ ์ธ๋ถ ์ ์ฅ์์ ์ฌ๋ฆฌ๊ณ , ๋ด๊ฐ ๊ทธ๊ฑธ ๊ฐ์ ธ์์ ์ปค๋ฐ 8๊น์ง ๋ง๋ค๊ณ ...์ ๋ฐฉ์์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ์ ํ์ ์ ๋์์ ํ ์ ์๋ค. GitLab์ Pushํ๊ธฐ Push๋ .git ๋๋ ํฐ๋ฆฌ ๋ด๋ถ์์ ๊ด๋ฆฌ๋๋ Repository ์์ญ์ ์ ๋ก๋ ํ ๊ฒ - git remote๋ ๋ด ์ปดํจํฐ์์ ์ธ๋ถ ์ ์ฅ์์ ๊ดํ ์์ ์ ํ ๋ ์ฌ์ฉํ๋..

Commit์ ์ ํ ๊น? ์ฐ๋ฆฌ๊ฐ ์ปค๋ฐ์ ๋จ๊ธฐ๋ ์ด์ ๋ ์์ ์ด๋ ฅ์ ๊ณ์ ๋จ๊ฒจ๋๊ณ ์ํ๋ ์์ ์ผ๋ก ์์ ๋กญ๊ฒ ์ด๋ํ๊ธฐ ์ํด์์. Head๋? ํ์ฌ ๋ด๊ฐ ์์นํด์๋ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ์๋ณ์ Head๊ฐ ๊ฐ๋ฆฌํค๋ ์ปค๋ฐ์ ๋ฐ๊พธ๊ฒ ๋๋ฉด ์ํน ๋๋ ํฐ๋ฆฌ์ ๋ชจ์ต๋ Head๊ฐ ๊ฐ๋ฆฌํค๋ ์ปค๋ฐ์ ๋ฒ์ ์ผ๋ก ๋ฐ๋. = Head๊ฐ ๊ฐ๋ฆฌํค๋ Commit์ ๋ชจ์ต๋๋ก Working Directory์ ๋ชจ์ต์ด ๋ฐ๋. Head๊ฐ ๊ฐ๋ฆฌํค๋ ์ปค๋ฐ ๋ฐ๊พธ๊ธฐ ์ด๋ option์ hard, mixed, soft๋ก ๋๋จ. $ git reset --{option} {์ปค๋ฐ ์์ด๋} Hard / Mixed / Soft ์ต์ ์ดํดํ๊ธฐ Hard ์ต์ ์ ์ํํ๋ฏ๋ก ๊ผญ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ Mixed ์ต์ ์ ์ํ์์๋ git add ํ ์ปค๋ฐ ๊ฐ๋ฅ / ์์ ํ๊ณ ์ถ๋ค๋ฉด ..

Git ์ด๊ธฐ ์ค์ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ๋ค์ด๊ฐ์, 'git init' ๋ช ๋ น์ ์ ๋ ฅํ๋ค. Initialized empty Git repository in ~~๊ฐ ๋ฌ๋ค๋ฉด ์ ์์ ์ผ๋ก ์คํ๋ ๊ฒ ํ๋ก์ ํธ๋ ์ด์ git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์ํ $ cd [ํ๋ก์ ํธ๋ช ] $ git init ์ฆ, ํ๋ก์ ํธ ๋ด๋ถ์ .git์ด๋ผ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋ ๊ฒ์ด๋ฉฐ git์ .git ๋๋ ํฐ๋ฆฌ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด ํ์ํ ๊ฒ๋ค์ ์์์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํจ์ผ๋ก์จ ์ฐ๋ฆฌ๊ฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋๋ก ๋์์ค. Git ์ฌ์ฉ์ ์ ๋ณด ์ค์ ์ค์ (configuration)์ ์๋ฏธํ๋ config๋ฅผ ํตํด ํ์ฌ git์ ์ฌ์ฉํ๋ user name๊ณผ user email์ ์ค์ . ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ๋ฒ์ ์ ๋จ๊ธธ ๋๋ง๋ค ๊ทธ ๋ฒ์ ์ ๋จ๊ธด ์ฌ๋์ ์ ๋ณด์ ๋ฐฉ๊ธ..

Git์ด๋? ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ๋ฒ์ ๊ด๋ฆฌ๋ ์์ฃผ ์ค์ํจ. ์ด๋, ๊ณ์ ์ ๋ฐ์ดํธ ๋๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ๊ฐ์ ํ๊ธฐ ์ํด์๋ ์ฝ๋๊ฐ ์์ , ์ถ๊ฐ, ์ญ์ ๋จ. ์ด๋ฌํ ํ๋ก์ ํธ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฐ๋ ํ๋ก๊ทธ๋จ์ด Git์. Git์ ํตํ ํ์ ? / GitHub์ GitLab ์์ >> Git์ ํตํด ๋ด๊ฐ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ์ ๋ฒ์ ์ ๊ด๋ฆฌ -> ๊ณ์ ๊ฐ๋ฐํด์ version 3๊น์ง ์ธ๋ถ ์๋ฒ์ ์ฌ๋ ค ๋ . -> ๋ค๋ฅธ ํ์์ด version 3์ ์๊ธฐ ์ปดํจํฐ๋ก ๊ฐ์ ธ๊ฐ์ version 5๊น์ง ๊ฐ๋ฐํด์ ๋ค์ ์๋ฒ์ ์ฌ๋ ค ๋ . -> ๋ค์ ๋ด๊ฐ version 5๋ฅผ ๋ฐ์์์ version 7 ๊น์ง ๋ง๋ฆ. -> ... ์ด๋ฐ ์์ผ๋ก ํ์ ์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ. Git๋ง ๊ฐ์ง๊ณ ํ ์ ์๋ ๊ฒ์ ์๋๊ณ , ์์ฒ๋ผ Git์ผ๋ก ๊ด๋ฆฌํ ํ๋ก์ ..