카테고리 없음

[Git lab] 깃랩 사용해보기 - 회원가입 , ssh key 등록 , 프로젝트 생성 , pull / push / status

문앵 2022. 1. 20. 17:24

 

 

 

 

 

나는 원래 팀 프로젝트를 git hub를 통해서 관리했었다.

하지만 회사에서는 깃랩 git lab 을 통해서 관리하기떄문에, 차주부터 들어갈 프로젝트를 대비해 미리 세팅 및 실습을 해보았다.

(mac을 기준으로!)

 

기본적으로 개발자 입장에서 깃헙과 깃랩은 거의 유사한것 같다.

 

우선 git 홈페이지에 가서 mac용 git 설치하기

https://git-scm.com/downloads

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

 

 

그리고 깃랩 로그인 (없으면 회원가입 - 기존 사이트와 마찬가지로 계정을 생성한다. 나는 이때 회사 이메일로 계정을 만듦)

이름 , 이메일, 비밀번호 입력을 하고 Register 누른다.

 

그럼 해당 이메일로 confirm 메일이 간다.

 

confirm을 해주고 나면 git lab 로그인 완료.

 

로그인이 완료되면 처음에 일단 create project를 해준다. 프로젝트를 만들어서 내 로컬pc를 연결해줘야 한다. 

 

나는 연습용으로 내 로컬 pc에 새로운 폴더를 하나 만들어서, 해당 폴더를 깃랩에 올려서 연동하는 방식으로 했다.

(기존에 깃랩에 있는 파일을 통째로 가져와서 연동하는 방식도 가능하다고 한다! - 이거는 git clone 일듯)

 

 

실습 들어가기 전에,

🔑 깃랩에서 pull push 등을 이용하려면 ssh key를 발급받아서 등록해야 한다. 🔑

https://unwritten.tistory.com/91

 

GitLab 깃랩 SSH 등록하는 방법 _맥 OS X

- 왼쪽 상단의 아이콘을 클릭 - 드롭다운 메뉴에서 [Settings] 선택 - [Settings] 페이지의 왼쪽 메뉴 중 [SSH Keys] 선택 맥에서 SSH 생성하기 - [터미널] 프로그램 실행 - 아래 명령어 똑같이 입력 ssh-keyge..

unwritten.tistory.com

 

 

해당 블로그의 글을 참고하여 ssh key를 등록할 수 있었다.

 

 

 


 

 

내 로컬 pc의 파일을 gitlab에 올리기 (git add / git commit / git push)

 

 

 

 

1. 로컬pc에 새로운 폴더를 하나 만들어준다

- 파일명은 재량으로 "my_project"

 

 

 

 

 

 

 

 

 

2. 터미널 접속한다 

# 터미널 간단 명령어
    ls : 해당 디렉토리에 있는 파일 보기
    cd "파일명" : 해당 파일로 가기
    cd ~ : 홈 디렉토리로 가기

 

 

 

3. 내가 연습용 폴더를 만든 곳 디렉토리는 Desktop이므로, 

 

Desktop -> my_project 에 들어가준다.

cd Desktop

cd my_project

 

 

 

 

4. 그리고 여기서 내가 깃랩에서 만든 프로젝르와 연동해준다.

방법은 깃랩 프로젝트를 생성하면 가이드가 나와있는데, 그걸 그대로 따라해도 된다.

git config --global user.name "내이름"

git config --global user.email "내 이메일"

 

해주고 해당 디렉토리에서 

git init (원래 이때 .git 파일이 생성된다..근데 무슨일인지 내 로컬파일에는 생기지 않았음- 하지만 그대로 진행함)

git remote add origin "해당 프로젝트 주소"

해주면 연결이 되었다.

 

이 이후 README.md 파일을 새로 만들어서 add commit 후 push 해서 올려볼 것이다.

 

touch README.md

my_project 폴더에 있는 상태에서 저렇게 명령어 쳐주면 

"README.md 파일을 만들어라" 라는 뜻

 

그리고 ls 명령어를 쳐보면 README.md 파일이 만들어져 있는게 보일 것임

 

이상태에서 

git add .
git commit -m "first commit"
git push origin main

차례로 명령어 입력.

그러고 나서 깃랩 사이트에 가서 확인해본다.

 

내 프로젝트 들어갔을 때,

README.md 파일이 있고 first commit 이라고 커밋 메모가 적혀있으면 성공성공

 

 

 

 

 

gitlab의 파일을 내 로컬 pc로 가져오기 ( git pull )

 

이제 깃랩 웹사이트에서 리드미 파일을 편집해본뒤 , 그걸 다시 내 로컬 폴더로 pull 해볼 것이다.

 

README.md 파일은 웹상에서 편집이 가능하다.

 

리드미 파일을 누른 뒤 , edit in web IDE 버튼을 눌러서 파일을 편집한다.

.md 파일은 마크다운 형식의 파일로, 특정한 문법이 있는데, 이걸 따라 간단한 코드블럭 같은 것을 작성할 수 있다.

 

예를 들어

# 블라블라
-> # 쓰고 한번 띄고 그 뒤에 글자를 쓰면 제목처럼 인식된다

    블라블라
-> 띄어쓰기 네번 하고 글자를 쓰면 코드블럭이라고 인식한다

 

 

요런식으로

왼쪽이 편집기 상태 오른쪽이 저장후 

 

 

1. 위와 같이 재량껏 리드미 파일을 웹상에서 편집해준다.

그리고 이 파일을 다시 내 로컬 pc로 pull 해올 것이다.

 

 

 

2. 터미널로 다시 가서

git pull origin main

해주면

 

 

 

이렇게 뜬다.

 

 

 

 

 

 

 

 

 

 

 

 

3. 그리고 로컬 파일에 들어가서 확인해보면 ,

실제로 내가 웹에서 편집한대로 파일내용이 바뀌어있다. 

 

 

 

 

 

 

내 로컬 pc에서 해당 파일을 편집해서 다시 깃랩으로 올리기 ( git status , git push )

 

1. 내 로컬 pc 에서 간단한 html 파일을 만들어 줘봤다.

 

그리고 리드미 파일도 간단하게 수정.

 

-> 이후 추가및 수정된 파일을 깃랩에 올려볼것이다.

 

 

 

 

2. 

git status

파일 상태를 보여준다. 그냥 git status를 해주면 파일명이 빨갛게 뜬다. 

 

빨갛게 되어있는 파일은 commit 할수 없는 상태라는 뜻.

 

이럴때는 해당 파일 git add를 해줘야 된다

 

 

 

 

 

3. 

git add .
git status

 

 

초록색으로 변했다.

 

 

 

만약 일부 파일만 빨간색으로 뜬다면 

git add "해당 파일명" 으로 각각 다 해주면 된다.

 

 

4. 그리고 git commit, git push해주기

git commit -m "두번째 푸쉬"
git push origin main

- 나는 이때 

error: src refspec main does not match any
error: failed to push some refs to "프로젝트url"

라고 하는 오류가 났다.

이럴때는 

git push --set-upstream origin master

해줘서 풀어줬다.

 

 

 

5. 이제 깃랩으로 가서 확인해보면 

create pull request 버튼이 떠있을것이다.

해당 버튼 눌러서 pull request 생성해준 뒤 , merge 해주면 

 

 

 

성공적으로 

수정된 파일이 올라간것을 확인 할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

오늘은 기본적인 실습을 해봤는데 

git hub 와 사실 다를바가 없었다. 만약 다른 부분이 있다면 사용하면서 차차 알아가면 될 것 같다.

 

 

 

 

 

반응형