[Git] ๊น๋ฉ(GitLab) ์ฌ์ฉํ๊ธฐ
๊ฐ์ธ์ ์ผ๋ก๋ GitHub , ์ฌ์ด๋ํ๋ก์ ํธ ์์๋ Gitea,
ํ์ฌ์์๋ GitLab์ ์ฌ์ฉ์ค์ด๋ค. ...๐ซ
๐ GitLab ์ด๋
๊ฐ์ธ ๋๋ ์กฐ์ง์ด Git ๋ ํฌ์งํ ๋ฆฌ์ ๋ด๋ถ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ Github๋ก,
๋น๊ณต๊ฐ๋ Github ์ด๋ค.
๐ GitLab ์ฌ์ฉ์ด์
๊น๋ฉ์ ์ค์ ์๋ฒ์์ git ์ ์ฅ์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ ํฌ์งํ ๋ฆฌ ๋๋ ํ๋ก์ ํธ๋ฅผ ์๋ฒฝํ๊ฒ ์ ์ดํ ์ ์์ผ๋ฉฐ, ๊ณต๊ฐ ๋๋ ๋น๊ณต๊ฐ ์ฌ๋ถ๋ฅผ ๋ฌด๋ฃ๋ก ๊ฒฐ์ ํ ์ ์๋ค.
๐ GitLab (Clone,Checkout, Commit, Push ) ๐
1. ์์ค ์ฝ๋ Clone ํ๊ธฐ with HTTPS
์์ค์ฝ๋๊ฐ ๋ค์ด์๋ ๋ ํฌ์งํ ๋ฆฌ์์
Clone -> Clone with HTTPS -> ๋ณต์ฌํ๋ค.
$ git clone https://gitlab.com/ [๋ ํฌ์งํ ๋ฆฌ์ด๋ฆ].git
๋ช ๋ น์ด ์ ๋ ฅํ , gitlab์ ์ฌ์ฉ์ ๊ณ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค.
ํด๋๋จ์๋ก ๋ด๋ ค๋ฐ์์ง๊ฒ์ ํ์ธํ ์ ์๋ค.
2. ์์ค ์ฝ๋ Clone ํ๊ธฐ with SSH
์์ค์ฝ๋๊ฐ ๋ค์ด์๋ ๋ ํฌ์งํ ๋ฆฌ์์
Clone -> Clone with SSH -> ๋ณต์ฌํ๋ค.
$ git@gitlab.com:[๋ ํฌ์งํ ๋ฆฌ์ด๋ฆ].git
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด , permission denied (public key) ์๋ฌ๊ฐ ๋๋ค.
ํด๋น pc์ ssh ์ธ์ฆ์ ํ์ํ key๊ฐ gitlab์ ๋ฑ๋ก๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
2-1. SSH-Key ์ค์ ํ๊ธฐ
ํฐ๋ฏธ๋์ ํค๊ณ $ ssh-keygen ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
Enter file in which to save the key (/Users/eun_ji/.ssh/id_rsa): // ์ํฐ
Enter passphrase (empty for no passphrase): // ์ํฐ
Enter same passphrase again: // ์ํฐ
๊ฐ๋ฐ ํ๊ฒฝ ํ ๋๋ ํ ๋ฆฌ์ .ssh ํด๋๋ก ์ด๋ํ id_rsa.pub ํ์ผ์ ํ์ธํ๋ค.
$ cat id_rsa.pub
๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ key๊ฐ ๋์ค๊ณ ์ ์ฒด ๋ณต์ฌํ
GitLab์ผ๋ก ์ด๋ํ๋ค.
3. GitLab์ SSH key ๋ฑ๋กํ๊ธฐ
GitLab ์ค๋ฅธ์ชฝ ์๋จ ํ๋กํ ์ฌ์ง ํด๋ฆญ ํ, Preferences ๋ก ๋ค์ด๊ฐ๋ค.
์ผ์ชฝ ๋ฉ๋ด์ SSH Keys ๋ก ๋ค์ด๊ฐ๋ฉด Key ์นธ์ ์๊น ๋ณต์ฌํ is_rsa.pub(ssh-key)์ ๋ถ์ฌ๋ฃ๊ธฐ ํด์ค๋ค.
์ ์์ ์ผ๋ก SSH Key๊ฐ ์ ๋ ฅ์ด ๋๋ฉด ์์ธ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
์ ๊ณผ์ ์ ๋ง์น๊ณ ๋ค์ 2. ์์ค ์ฝ๋ Clone ํ๊ธฐ with SSH ์ ์งํํ๋ฉด ์ ์์ ์ผ๋ก ์งํ๋๋ค.
4. Branch ๋ณ๊ฒฝํ๊ธฐ
์ฒ์ clone ํ๊ฒ ๋๋ฉด master ๋ธ๋์น์ ์์นํ๊ฒ ๋๋ค.
๊ฐ์ธ ์ ์ฅ์๋ผ๋ฉด ์๊ด์๊ฒ ์ง๋ง ๊ณต์ ์ฉ ์ ์ฅ์๋ผ๋ฉด ๋ธ๋์น๋ฅผ ๊ฐ์ ์์ฑํ์ฌ ์ปค๋ฐํ ๋ณํฉํ๋๊ฒ์ด ์ข์๊ฒ ๊ฐ๋ค.
$ git checkout -b [๋ธ๋์น ์ด๋ฆ]
์ ๋ช ๋ น์ด๋ก ๋ธ๋์น ์์ฑ ๊ณผ ์ ํ์ ํด์คํ
$ git branch
์ ๋ช ๋ น์ด ์ ๋ ฅํ๊ณ ํ์ฌ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ธ๋์น๋ฅผ ํ์ธํ๋ค. : ์์ ์ด ์์ฑํ ๋ธ๋์น๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์์ผ๋ฉด ๋จ
5. Commit ํ๊ธฐ
$ git add . // ์์ ์ฌํญ๋ค์ ์ ๋ถ ์ถ๊ฐํจ : add ๋ค์ . ์ ๋ํด์ฃผ๋ฉด ์ ๋ถ ํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
$ git commit -m "commit comments"
// commit comments ์๋ ์ปค๋ฐ ์ปจ๋ฒค์
์ด ์๋ค๋ฉด ์ฐธ๊ณ ํด์ ์์ฑํ๋ค.
6. Push ํ๊ธฐ
push ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ git ์๊ฒฉ ์ ์ฅ์์ ์ ์ฅํ๋ค.
$ git push
gitLab์ ์ ์ํ์ฌ ์ปค๋ฐ๋๊ฒ์ ํ-์ธ !