Eli의 여백

바쁜 나날들 사이에서 생각났던 이런저런 것들을 적어봅니다.

프로그래밍

GitLab 설정

Eli♪ 2018. 4. 7. 13:40

일단 GitLab에서 새로운 repository를 만들었다고 가정한다.

 

GitLab은 보안을 위해 ssh key를 이용해서 통신하기 때문에 작업하는 컴퓨터와 gitlab 모두에 ssh key가 일치되어야 권한문제가 생기지 않는다.

 

ssh로 통신을 시도하게 되면 자신의 ssh public key를 원격지로 전송한다. 이 때 기본 경로는 c:/user/사용자명/.ssh 폴더이다. 여기에 아무것도 없으면 통신이 성립되지 않는다.

그리고 GitLab에서 자기가 갖고있는 public key랑 맞는지 확인을 한다. public key가 등록이 안되어있으면 당연히 통신이 성립되지 않는다.

 

즉 GitLab을 정상적으로 사용하기 위해서는 두 가지 절차가 필요하다.

1. 작업하는 컴퓨터에서 ssh키 쌍(pair) 만들기

2. 만들어진 ssh 키 중에 public key를 GitLab에 등록하기

 

1. 작업하는 컴퓨터에서 ssh키 만들기

로컬 컴퓨터에 git를 깐다. (git 공식 홈페이지에서)

git가 설치되어 있다면 git bash도 열 수 있을 것이다.

git bash 창에 ssh-keygen을 입력한다. (built in 명령어)

기본 경로가 c:/user/사용자명/.ssh 폴더이다. 고급 사용자가 아니면 건들지 말고 엔터를 누른다.

passphrase를 입력하라고 하는데, 이건 키 자체에 대한 보안이다. 모르면 엔터

passphrase 재확인도 엔터

그러면 ssh의 기본 키 경로에 public key와 private key가 저장된다. (private key는 id_rsa, public key는 id_rsa.pub 파일)

 

이제 작업하는 컴퓨터의 ssh키는 저 경로에 있는 키가 되며, 당연히 다른 작업을 하다가 덮어씌우면 그것을 원격지에 재등록해줘야 한다.

 

2. GitLab에 public key 등록

Gitlab에 로그인 후 다음의 페이지로 들어간다. https://gitlab.com/profile/keys

설명에도 써있지만, 아까 만든 id_rsa.pub를 대충 메모장으로 열어서 내용물 전체를 복붙하면 된다.

그 아래 title 빈칸은 나중에 gitlab 페이지에서 뭔지 구분할 때 쓰이는데, 모르면 빈칸으로 놔두면 컴퓨터 명으로 알아서 입력된다.

Add key 버튼을 누르면 추가가 된다.

 

이제 버전관리를 할 수 있도록 git 설정을 해야한다.

GitLab을 원격 저장소(remote repository)로 하더라도 로컬용 저장소(local repository)를 만드는 게 정신건강에 좋다.

 

원하는 폴더(작업물이 있는 폴더)에 들어가서 마우스 우클릭을 하면 Git Bash here이라는게 있으니 클릭하면 된다.

 

git bash에서 git init을 입력한다.

그러면 git가 이 폴더를 git용으로 인식한다.

현재 폴더에 .git라는 숨김 폴더가 생긴 것을 확인할 수 있다.

 

이제 git add . 을 입력한다. ( 점은 현재 폴더를 의미한다.)

그러면 git가 이 폴더를 로컬 저장소로 인식한다.

 

이제 git remote add origin git@gitlab.com:사용자명/GitLab리포지토리명.git를 입력한다.

자기 GitLab 리포지토리 페이지에 들어가면 가운데에 대문짝만하게 써있고, ssh를 고르면 나오는 그것을 복붙해서 경로로 넣으면 된다.

origin은 사용자가 지정할 수 있는 저장소 이름인데, 모르면 그냥 origin으로 입력하자.

그러면 git가 GitLab 주소를 원격지의 origin이라는 이름으로 인식한다.

 

이제 git commit -m "처음" 이라고 입력한다.

이것은 현재 폴더에 있는 내용물들을 로컬 저장소에 입력하는 절차이며, -m 뒤에 오는 것은 나중에 구별할 수 있게 하는 메시지이다.

 

이제 git push -u origin master라고 입력한다.

이것은 로컬 저장소에 있던 내용을 origin이라는 repository (아까 원격으로 등록한 그것)으로 보내준다. master는 브랜치 이름이다.

 

이제 gitlab의 repository를 새로고침해보면 내용물이 생긴 것을 알 수 있다.

 

앞으로는 뭔가 수정사항이 생기면 git commit으로 로컬에 넣은 다음, git push로 원격지로 전송해주면 된다.

 

설정 끝.

'프로그래밍' 카테고리의 다른 글

MATLAB으로 웹캠 OCR 하기  (2) 2020.01.03
MATLAB으로 머신러닝 입문(?)  (0) 2019.12.13
BMS구동기 v0.4  (4) 2016.02.13
BMS구동기 v0.3  (1) 2016.01.24
BMS구동기 v0.2  (0) 2016.01.24