GIT Server - Protocol
๋ค๋ฅธ ์ฌ๋๊ณผ ํ์
ํ๋ ค๋ฉด remote ์ ์ฅ์(์๊ฒฉ ์ ์ฅ์)๊ฐ ํ์
๊ณต๋์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ , ๋ชจ๋ ์ด ์ ์ฅ์์ ์ ๊ทผํ์ฌ push, pull ํ ์ ์์ด์ผ ํจ
1. ์ฌ์ฉํ ์ ์ก ํ๋กํ ์ฝ ๊ฒฐ์
ํ๋กํ ์ฝ ์ข ๋ฅ, ๊ฐ ํ๋กํ ์ฝ์ ์ฅ๋จ์ , ์ฌ์ฉ ๋ฐฉ๋ฒ, ์๋ฒ ๊ตฌ์ฑ ๋ฐฉ๋ฒ
remote ์ ์ฅ์๋ ์ผ๋ฐ์ ์ผ๋ก working directory๊ฐ ์๋ Bare ์ ์ฅ์
์ด ์ ์ฅ์๋ ํ์
์ฉ์ด๊ธฐ ๋๋ฌธ์ checkout์ด ํ์ ์์
๊ทธ๋ฅ Git ๋ฐ์ดํฐ๋ง ์์ผ๋ฉด ๋จ, ๋ค์ ๋งํด Bare ์ ์ฅ์๋ ์ผ๋ฐ ํ๋ก์ ํธ์์ .git
๋๋ ํ ๋ฆฌ๋ง ์๋ ์ ์ฅ์
GIT์ Local, HTTP, SSH, GIT ์ด๋ ๊ฒ 4๊ฐ์ง protocol์ ์ฌ์ฉ ๊ฐ๋ฅ
1. Local Protocol
๋ฆฌ๋ชจํธ ์ ์ฅ์๊ฐ ๋จ์ํ ๊ฐ์ ์์คํ
์ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ์ ์์ ๋ ์ฌ์ฉ
ํ์๋ค์ด ์ ๋ถ ํ ์์คํ
์ ๋ก๊ทธ์ธํ์ฌ ๊ฐ๋ฐํ๊ฑฐ๋ ์๋๋ฉด NFS๊ฐ์ ๊ฒ์ผ๋ก ํ์ผ์์คํ
์ ๊ณต์ ํ๊ณ ์์ ๋ ์ฌ์ฉ
๋จ์ : ๋ชจ๋ ์ ์ฅ์๊ฐ ํ ์์คํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์๊ฐ์ ๋ชจ๋ ์์ ์ ์์
๊ณต์ ํ์ผ์์คํ
์ ๋ง์ดํธํ์ ๋๋ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ cloneํ๊ณ pushํ๊ณ pullํ๋ฉด ๋จ
์ผ๋จ ์ ์ฅ์๋ฅผ cloneํ๊ฑฐ๋ ํ๋ก์ ํธ์ ๋ฆฌ๋ชจํธ ์ ์ฅ์๋ก ์ถ๊ฐ, ์ถ๊ฐํ ๋ URL ์๋ฆฌ์ ์ ์ฅ์์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉ
ex ) $ git clone /srv/git/project.git
ex ) $ git clone file://srv/git/project.git
์ด๋ฏธ ๊ฐ์ง GIT ํ๋ก์ ํธ์๋ ์๋์ ๊ฐ์ด ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ถ๊ฐ
ex ) $ git remote add local_prj /srv/git/project.git
๊ทธ๋ฌ๋ฉด ๋คํธ์ํฌ์ ์๋ ๋ฆฌ๋ชจํธ ์ ์ฅ์์ฒ๋ผ local_prj ์ด๋ฆ์ผ๋ก ๋ฆฌ๋ชจํธ์ฒ๋ผ pushํ๊ฑฐ๋ pull ๊ฐ๋ฅ
2. HTTP Protocol
GIT์ HTTP๋ก ํต์ ํ ๋, ์๋ก ๋ค๋ฅธ ๋ ๋ฐฉ๋ฒ์ผ๋ก HTTP๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅ
SSH๋ GIT Protocol ์ฒ๋ผ ํต์ . ๋ค๋ง HTTP๋ HTTPS ํฌํธ๋ฅผ ์ด์ฉํด ํต์ ํ๊ณ ๋ค์ํ HTTP ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด ๋ค๋ฆ
SSH๋ ํค๋ฅผ ๋ฐ๊ธํ๊ณ ๊ด๋ฆฌํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ง๋ง, HTTP๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๋ง์ผ๋ก ์ธ์ฆํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
์ค์ ๋ก GitHub ๊ฐ์ ์๋น์ค์์ ์ ๊ณตํ๋ ์ ์ฅ์๋ cloneํ ๋๋ push ํ ๋ ๊ฐ์ URL์ ์ฌ์ฉ
3. SSH Protocol
GIT์ ๋ํ Protocol
SSH๋ฅผ ์ด์ฉํ๋ฉด ์๋ฌด๋ฐ ์ธ๋ถ ๋๊ตฌ ์์ด GIT Server ๊ตฌ์ถ ๊ฐ๋ฅ
๋๋ถ๋ถ ์๋ฒ๋ SSH๋ก ์ ๊ทผํ ์ ์๋๋ก ์ค์ ๋์ด ์์(์ค์ ๋ ์ฝ๋ค!)
SSH๋ฅผ ํตํด GIT ์ ์ฅ์๋ฅผ Cloneํ๋ ค๋ฉด ssh://
๋ก ์์ํ๋ URL์ ์ฌ์ฉ
ex ) $ git clone ssh://[user@]server/project.git
ex ) $ git clone [user@]server:project.git
์ฌ์ฉ์ ๊ณ์ ์ ์๋ตํ ์๋ ์๋๋ฐ ๊ณ์ ์ ์๋ตํ๋ฉด GIT์ ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ๊ณ์ ์ฌ์ฉ
์ฅ์
- SSH๋ ์๋์ ์ผ๋ก ์ค์ ํ๊ธฐ ์ฌ์
- ๋ณด์์ ์์ , ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ํธํ๋์ด ์ธ์ฆ๋ ์ํ๋ก ์ ์ก๋จ
- ์ ์ก์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฅํ ์์ถํ๊ธฐ ๋๋ฌธ์ ํจ์จ์
๋จ์
์ต๋ช ์ ๊ทผ ๋ถ๊ฐ, ์ฝ๊ธฐ ์ ์ฉ์ธ ๊ฒฝ์ฐ์๋
'์ ๋ฌด ํ์ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GIT] Rocky Linux ์ GIT Server ๊ตฌ์ถํ๊ธฐ - ์ ๋ฌธํธ (0) | 2024.05.22 |
---|---|
[๋คํธ์ํฌ] OSI 7๊ณ์ธต --- 2 (0) | 2024.05.21 |
[๋คํธ์ํฌ] OSI 7๊ณ์ธต์ ์ ํ์ํ๋... ๋ญ๋.. -1 (0) | 2024.05.17 |
[SSO] ํตํฉ์ธ์ฆ? (0) | 2024.05.17 |
[๋คํธ์ํฌ] ICMP, IP, ์๋ธ๋ท ๋ง์คํฌ, ๊ฒ์ดํธ ์จ์ด, DNS ์๋ฒ๋? (0) | 2024.05.17 |