Git์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก, ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์์ด๋ ์ฝ๋์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ํนํ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋ ๋ก์ปฌ ๋คํธ์ํฌ๋ ์ธ๋ถ ๋์คํฌ๋ฅผ ํ์ฉํด ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ค์ ํ ์ ์์ผ๋ฉฐ, SSH๋ฅผ ์ด์ฉํด ์ง์ ์ ์ธ ์ธํฐ๋ท ์ฐ๊ฒฐ ์์ด๋ ์๊ฒฉ ์ ์ฅ์์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ SSH๋ฅผ ํ์ฉํ ์๊ฒฉ ์ ์ฅ์ ์ ๊ทผ ๋ฐฉ์๊ณผ ํจ๊ป, ์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
svn ๊ฐ์ ํ์๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉ ํ ์ ์์ผ๋, github ๊ฐ ์ต์ํ ์ฐ๋ฆฌ๋ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋ svn ์ ์ฌ์ฉํด๋ด ์๋ค.
๋ชฉ์ฐจ
- ์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ์ฌ์ฉํด์ผ ํ๋ ์ด์
- ๋ก์ปฌ์์ Git ์ ์ฅ์ ์์ฑ ๋ฐ ์ด๊ธฐ ์ค์
- Git ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ๊ธฐ๋ณธ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ
- ์คํ๋ผ์ธ ํ๊ฒฝ์์ ์๊ฒฉ ์ ์ฅ์ ์ค์ ๋ฐฉ๋ฒ
- SSH๋ฅผ ํตํ ์คํ๋ผ์ธ ํ๊ฒฝ์ ์๊ฒฉ ์ ์ฅ์ ์ ๊ทผ
- ๊ฒฐ๋ก
1. ์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ์ฌ์ฉํด์ผ ํ๋ ์ด์
์ธํฐ๋ท ์ฐ๊ฒฐ ์์ด๋ Git์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ด๋ถ ๋คํธ์ํฌ ํ๊ฒฝ: ํ์ฌ ๋ด๋ถ ๋ณด์ ๋คํธ์ํฌ์์ ์ธ๋ถ ์ฐ๊ฒฐ์ด ์ ํ๋ ๊ฒฝ์ฐ.
- ์ธ๋ด ์ง์ญ: ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ ํ๊ฒฝ์์ ์ฝ๋ ์์ ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ.
- ๋ณด์ ์๊ตฌ์ฌํญ์ด ์๋ ํ๊ฒฝ: ์คํ ์ฝ๋๋ ๋ฐ์ดํฐ๊ฐ ์ธ๋ถ๋ก ๋๊ฐ๋ ๊ฒ์ด ์ ํ๋ ํ๊ฒฝ์์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ.
Git์ ๋ถ์ฐ ํน์ฑ ๋๋ถ์ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ํตํด ๋ชจ๋ ๋ณ๊ฒฝ ๋ด์ญ์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
2. ๋ก์ปฌ์์ Git ์ ์ฅ์ ์์ฑ ๋ฐ ์ด๊ธฐ ์ค์
์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ์ฌ์ฉํ๊ธฐ ์ํด ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๋ก์ปฌ Git ์ ์ฅ์๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
# ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd my_project
# Git ์ ์ฅ์ ์ด๊ธฐํ
git init
์ด ๋ช
๋ น์ด๋ก .git
๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋์ด, ์ด ํด๋์ Git ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ฅ๋ฉ๋๋ค. ์ด์ Git ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํด ์ด ๋๋ ํ ๋ฆฌ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
3. Git ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ๊ธฐ๋ณธ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ
๋ก์ปฌ ์ ์ฅ์์์ Git ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด ์คํ๋ผ์ธ ์ํ์์๋ ๊ธฐ๋ณธ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
# ํ์ผ์ ์คํ
์ด์ง ์์ญ์ ์ถ๊ฐ
git add <ํ์ผ ์ด๋ฆ>
# ์ปค๋ฐํ๊ธฐ
git commit -m "์ปค๋ฐ ๋ฉ์์ง"
# ์ปค๋ฐ ๋ด์ญ ํ์ธ
git log
4. ์คํ๋ผ์ธ ํ๊ฒฝ์์ ์๊ฒฉ ์ ์ฅ์ ์ค์ ๋ฐฉ๋ฒ
4.1 ๋ก์ปฌ ๋คํธ์ํฌ๋ ์ธ๋ถ ๋์คํฌ๋ฅผ ํตํ ์๊ฒฉ ์ ์ฅ์ ์ค์
์คํ๋ผ์ธ ํ๊ฒฝ์์ ์ฌ๋ฌ ๋ช ์ด ํจ๊ป Git์ ์ฌ์ฉํ๋ ค๋ฉด ์๋ก์ ์ ์ฅ์๋ฅผ ์ง์ ๊ตํํ๊ฑฐ๋ ๋ก์ปฌ ๋คํธ์ํฌ ๊ณต์ ํด๋ ๋๋ ์ธ์ฅ ๋์คํฌ๋ฅผ ํตํด ์๊ฒฉ ์ ์ฅ์์ฒ๋ผ ์ค์ ํ ์ ์์ต๋๋ค.
๋ก์ปฌ ๋คํธ์ํฌ ๊ณต์ ํด๋
๊ณต์ ๋ ๋ก์ปฌ ๋คํธ์ํฌ ๊ฒฝ๋ก์ bare ์ ์ฅ์๋ฅผ ์์ฑํ์ฌ ํ์ ์ ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ํธ์ํ๊ฑฐ๋ ํ ์ ์์ต๋๋ค.
# ๋ก์ปฌ ๋คํธ์ํฌ ๊ณต์ ํด๋์ bare ์ ์ฅ์ ์์ฑ
git clone --bare my_project my_project.git
์ด bare ์ ์ฅ์๋ฅผ ๋ก์ปฌ ๋คํธ์ํฌ ๊ณต์ ํด๋์ ์์น์ํค๊ณ , ํ์ ์๋ค์ด ์ด ํด๋๋ฅผ ์๊ฒฉ ์ ์ฅ์๋ก ์ถ๊ฐํ์ฌ ์ ๊ทผํ๋๋ก ์ค์ ํฉ๋๋ค.
5. SSH๋ฅผ ํตํ ์คํ๋ผ์ธ ํ๊ฒฝ์ ์๊ฒฉ ์ ์ฅ์ ์ ๊ทผ
์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์์ง๋ง, ๋ก์ปฌ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์๋ฒ์ Git ์ ์ฅ์๊ฐ ์๋ ๊ฒฝ์ฐ, SSH๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ ์ฅ์์ ์ ๊ทผํ ์ ์์ต๋๋ค. SSH๋ ๋ณด์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ ๊ณตํ์ฌ Git ๋ช ๋ น์ด๋ก ๋ก์ปฌ ๋คํธ์ํฌ ๋ด์์ ๋ณ๊ฒฝ ์ฌํญ์ ์์ ํ๊ฒ ๊ตํํ ์ ์์ต๋๋ค.
5.1 ์๊ฒฉ ์ ์ฅ์ ์๋ฒ ์ค์
๋จผ์ , ๋ก์ปฌ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์๋ฒ์ Git ์ ์ฅ์๋ฅผ ์์ฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ ์ฉ ์๋ฒ์์ Git ์ ์ฅ์๋ฅผ ์์ฑํ๊ณ SSH๋ก ์ ๊ทผํ ์ ์๋๋ก ์ค์ ํฉ๋๋ค.
# ํ์
์๋ฒ์์ ์ ์ฅ์ ์ด๊ธฐํ
ssh user@remote-server
cd /path/to/repo
git init --bare my_project.git
์ด๋ ๊ฒ ์์ฑ๋ my_project.git
์ ์๊ฒฉ ์ ์ฅ์๋ก์ ์ญํ ์ ์ํํ ์ ์์ต๋๋ค.
5.2 ๋ก์ปฌ ์ ์ฅ์์์ ์๊ฒฉ ์ ์ฅ์ ์ถ๊ฐ
๋ก์ปฌ Git ํ๋ก์ ํธ์์ ์๊ฒฉ ์ ์ฅ์๋ฅผ SSH๋ฅผ ํตํด ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ user@remote-server:/path/to/repo
ํ์์ SSH ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ์๋ฅผ ์ค์ ํฉ๋๋ค.
# ์๊ฒฉ ์ ์ฅ์๋ฅผ SSH ๊ฒฝ๋ก๋ก ์ถ๊ฐ
git remote add origin ssh://user@remote-server:/path/to/repo/my_project.git
5.3 SSH ํค ์ค์ (์ ํ ์ฌํญ)
๋งค๋ฒ SSH ์ํธ๋ฅผ ์ ๋ ฅํ์ง ์์ผ๋ ค๋ฉด, SSH ํค๋ฅผ ์์ฑํ๊ณ ํ์ ์๋ฒ์ ๊ณต๊ฐ ํค๋ฅผ ๋ฑ๋กํฉ๋๋ค.
- ๋ก์ปฌ ๋จธ์ ์์ SSH ํค ์์ฑ:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- ์์ฑ๋ ๊ณต๊ฐ ํค๋ฅผ ์๋ฒ์ ๋ฑ๋ก:
ssh-copy-id user@remote-server
์ด์ SSH ํค ์ค์ ์ด ์๋ฃ๋์ด, SSH ์ ์ ์ ์ํธ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค.
5.4 ์๊ฒฉ ์ ์ฅ์์์ ๋ณ๊ฒฝ ์ฌํญ ํธ์ ๋ฐ ํ
์๊ฒฉ ์ ์ฅ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ง๋ฉด, ์คํ๋ผ์ธ ์ํ์์๋ SSH๋ฅผ ํตํด Git ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ก์ปฌ ๋ณ๊ฒฝ ์ฌํญ์ ํธ์ํ๊ณ , ํ์์ด ํธ์ํ ๋ด์ฉ์ ํ ์ ์์ต๋๋ค.
# ๋ก์ปฌ ๋ณ๊ฒฝ ์ฌํญ์ ์๊ฒฉ ์ ์ฅ์์ ํธ์
git push origin main
# ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ก์ปฌ๋ก ํ
git pull origin main
์ด๋ ๊ฒ SSH๋ฅผ ํ์ฉํ๋ฉด ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์ง ์์ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋, ๋ก์ปฌ ๋คํธ์ํฌ ๋ด์์ ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐํ์ฌ ํจ์จ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค.
6. ๊ฒฐ๋ก
์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํฉ๋๋ค:
- ๋ก์ปฌ ์ ์ฅ์ ์์ฑ ๋ฐ ์ค์ : ๋ก์ปฌ ๋๋ ํ ๋ฆฌ์ Git ์ ์ฅ์๋ฅผ ์์ฑํ์ฌ ์คํ๋ผ์ธ ์ํ์์๋ ์ฝ๋์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
- ๋ก์ปฌ ๋คํธ์ํฌ ๋ฐ ์ธ๋ถ ๋์คํฌ๋ฅผ ํตํ ํ์ : ๋คํธ์ํฌ ๊ณต์ ํด๋๋ ์ธ๋ถ ๋์คํฌ๋ฅผ ์๊ฒฉ ์ ์ฅ์๋ก ์ค์ ํ์ฌ ํ์๊ณผ ํ์ ํ ์ ์์ต๋๋ค.
- SSH๋ฅผ ํตํ ์๊ฒฉ ์ ์ฅ์ ์ ๊ทผ: ๋ก์ปฌ ๋คํธ์ํฌ ๋ด์ ๋ค๋ฅธ ์๋ฒ์ SSH๋ก ์ ๊ทผํ์ฌ ์คํ๋ผ์ธ ์ํ์์๋ ํ์๊ณผ ๋ณ๊ฒฝ ์ฌํญ์ ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
Git์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ํน์ฑ ๋๋ถ์ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋ ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ์ ํ์ ์ด ๊ฐ๋ฅํ๋ฉฐ, SSH๋ฅผ ํตํด ๋ณด์์ด ํ์ํ ์คํ๋ผ์ธ ํ๊ฒฝ์์ Git์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
'Develop' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Python ] dataclass ์์ธํ ์์๋ณด๊ธฐ (0) | 2024.11.03 |
---|---|
C#) Grbage Collector (0) | 2024.04.22 |
Object-Oriented Programming ) Overroading,Override , Extend ? (0) | 2020.04.09 |