본문으로 바로가기

GitLab과 GitHub Windows 연동하기

category 개발도구/Git 2015. 7. 7. 11:00

Git을 윈도우즈에서 사용하면서 명령어를 직접 사용하는 것이 익숙치 않아 곤란한 경우가 있습니다. tortoisegit을 대용으로 사용해 왔으나 불편함이 가시지 않아 Git 자체를 멀리하게 되던 찰나에 GitHub에서 제작한 윈도우즈용 Git툴이 제작되었습니다. Git을 사용하는 GitLab과 bitbucket에서도 모두 사용가능하다는 걸 알게되어 GitLab과의 연동 내용을 정리합니다.

GitLab 선택의 이유

GitHub가 많이 이용되지만 공개된 프로젝트만 무료로 제공되기에 비공개 프로젝트의 저장소로 사용하기 위해선 요금지불이 필수다. Git 사용법도 미숙한데 비용지불이 왠말이냐... 그래서 GitLab에서 비공개 프로젝트를 테스트 삼아 진행해본다.

윈도우즈에서 Git 사용환경 구축하기

  • msysgit를 설치 : 윈도우즈에서 Git을 사용하려면 꼭 필요한 툴이며, 일종의 명령어프롬프트인데, PATH 설정과 몇가지 명령어가 설치되는 것이다.
  • 로컬 저장소 생성 : 로컬 저장소로 사용될 폴더 하나를 만들고, 그 폴더를 마우스 우클릭하면 msysgit이 설치되면서 생겨난 컨택스트메뉴 중에 Git Init Here 를 선택한다.
  • SSH-Key 생성 : 로컬 저장소와 원격 저장소간의 통신은 SSH를 사용한다. 이를 위해서는 개인키와 공개키를 생성하고 공개키를 사용하려는 GitLab 서비스에 등록해야 한다.
    1. 다시 폴더(어떤 폴더든 상관없음)에 마우스 우클릭하고, Git Bash 를 선택해 명령어 창을 불러온다.
    2. ssh-keygen 을 입력하고 Enter
    3. 이후에 몇번의 Enter를 추가 요구한다.
    4. The key fingerprint is: 라는 메세지가 확인되면 생성이 완료된 것이다.
    5. C:\Users\자신의계정\.ssh 위치에 id_rsaid_rsa.pub 파일을 확인할 수 있다.
  • GitLab에 회원가입을 하고, 프로젝트를 생성하거나 프로젝트의 그룹멤버로 초대를받는다.
  • 만들어둔 id_rsa.pub를 메모장으로 열고 복사하여 GitLab 계정의 settings > SSH Keys에 등록한다.
  • 다시 폴더에 마우스 우클릭하여 Git Bash 를 실행하고 아래의 명령을 실행하여 git 사용자와 이메일을 설정한다.

    git config --global user.name "이름"
    git config --global user.email "이메일"
    
  • GitLab 원격 저장소와 연결하기위해 아래의 명령어를 실행한다. 이때 파일하나를 임의로 생성해서 원격 저장소로 올려야 에러가 나지 않는다. 아래의 과정중에 GitLab과 통신하기 위해 연결을 설정할 것인지를 묻는데 yes를 입력한다.

    touch README
    git add README
    git commit -m '첫번째 커밋 테스트'
    git remote add origin git@gitlab.com:계정이름/저장소이름.git
    git push -u origin master
    
  • 만약 이미 파일들이 올라가져 있는 원격 저장소와 연결할때는 마지막 문장의 git push... 부분을 git pull...로 변경한다.
  • GitHub 에 회원가입한다.
  • GitHub Windows 다운로드 및 설치, 설치후 이용시에 GitHub의 계정을 묻는다.
  • 윈도우즈 탐색기를 이용해서 로컬 저장소의 폴더를 폴더채로 드래그하여 GitHub Windows로 드래그하면 저장소가 추가되고 이후 연동이 완료된다.
기존에 Git을 설치하지 않은 환경이라면 좀 더 간단한 방법으로 연동이 가능하다.
Github Tool을 설치하고, 간단한 설정을 마치고 C:\사용자\사용자명\.ssh 폴더에 접근하여 github_rsa.pub 파일을 열어 키를 복사하여 자신의 GitLab에 등록한 후, 레포지토리 주소를 HTTPS로 복사하여 설정하는 것이다.