Bash로 쉽게 배우는 GitLab 프로젝트 올리기 완벽 가이드
개발 작업을 하다 보면 이미 작업 중인 로컬 프로젝트를 GitLab에 올려야 하는 상황이 자주 발생합니다. 이번 포스팅에서는 Git Bash를 사용하여 기존 프로젝트를 GitLab에 효율적으로 업로드하는 방법을 단계별로 자세히 알아보겠습니다.
사전 준비 사항
GitLab에 프로젝트를 올리기 전에 다음 사항을 먼저 확인해주세요:
- Git이 로컬 시스템에 설치되어 있어야 합니다.
- GitLab 계정이 있어야 합니다.
- 업로드할 로컬 프로젝트가 준비되어 있어야 합니다.
Git이 설치되어 있지 않다면 Git 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.
GitLab에 새 프로젝트 생성하기
먼저 GitLab 웹사이트에서 새 프로젝트를 생성해야 합니다:
- GitLab에 로그인합니다.
- 오른쪽 상단의 + 버튼을 클릭하고 New project를 선택합니다.
- Create blank project를 선택합니다.
- 프로젝트 이름을 입력하고 필요한 설정(공개/비공개 등)을 선택합니다.
- Create project 버튼을 클릭하여 프로젝트를 생성합니다.
프로젝트가 생성되면 GitLab은 프로젝트의 URL을 제공합니다. 이 URL은 나중에 로컬 저장소를 연결할 때 필요하므로 기억해두세요.
Bash에서 기존 프로젝트를 GitLab에 올리기
이제 Bash 터미널을 열고 다음 단계를 따라 기존 프로젝트를 GitLab에 올리겠습니다:
1. 프로젝트 디렉토리로 이동
첫 번째로, 업로드하려는 프로젝트 디렉토리로 이동합니다:
cd 프로젝트_경로
예를 들어:
cd ~/projects/my-awesome-project
2. Git 저장소 초기화
프로젝트 디렉토리가 아직 Git 저장소로 초기화되지 않았다면, 다음 명령어로 초기화합니다:
git init
이 명령어는 현재 디렉토리에 .git 숨김 폴더를 생성하고, 이 디렉토리를 Git 저장소로 설정합니다.
3. .gitignore 파일 생성 (선택 사항)
버전 관리에서 제외할 파일이나 디렉토리가 있다면 .gitignore 파일을 생성하는 것이 좋습니다:
# .gitignore 파일 생성
touch .gitignore
# 편집기로 파일 열기 (예: nano)
nano .gitignore
.gitignore 파일에 버전 관리에서 제외할 파일 패턴을 추가합니다. 예를 들면:
# 빌드 파일 제외
/build/
/dist/
# 의존성 디렉토리 제외
/node_modules/
/vendor/
# 로그 파일 제외
*.log
# 환경 설정 파일 제외
.env
.env.local
gitignore.io에서 프로젝트 유형에 맞는 템플릿을 쉽게 생성할 수 있습니다.
4. 파일 스테이징
Git에 추적할 모든 파일을 스테이징 영역에 추가합니다:
# 모든 파일 추가
git add .
# 또는 특정 파일만 추가
# git add 파일명
5. 첫 번째 커밋 생성
스테이징된 변경 사항을 커밋합니다:
git commit -m "Initial commit"
커밋 메시지는 변경 사항을 명확하게 설명하는 것이 좋습니다.
6. GitLab 원격 저장소 연결
로컬 Git 저장소와 GitLab의 원격 저장소를 연결합니다:
git remote add origin [GitLab 프로젝트 URL]
GitLab 프로젝트 URL은 다음 두 가지 형식 중 하나일 수 있습니다:
- HTTPS 방식: https://gitlab.com/사용자명/프로젝트명.git
- SSH 방식: git@gitlab.com:사용자명/프로젝트명.git
예를 들면:
# HTTPS 방식
git remote add origin https://gitlab.com/johndoe/awesome-project.git
# 또는 SSH 방식 (SSH 키가 설정되어 있어야 함)
# git remote add origin git@gitlab.com:johndoe/awesome-project.git
7. 브랜치 이름 설정 (Git 2.28 이상)
최신 버전의 Git에서는 기본 브랜치 이름을 설정할 수 있습니다. 일반적으로 main 또는 master를 사용합니다:
# Git 2.28 이상에서 사용 가능
git branch -M main
8. GitLab에 코드 푸시
이제 로컬 저장소의 코드를 GitLab 원격 저장소에 푸시합니다:
git push -u origin main
-u 옵션(또는 --set-upstream)은 로컬 main 브랜치를 원격의 main 브랜치와 연결합니다. 이후 푸시할 때는 간단히 git push만 입력해도 됩니다.
만약 기본 브랜치가 master인 경우:
git push -u origin master
9. 인증 정보 입력
HTTPS 방식을 사용하는 경우, GitLab 사용자 이름과 비밀번호 또는 개인 액세스 토큰을 입력해야 할 수 있습니다. SSH 방식을 사용하면 이 단계를 건너뛸 수 있습니다.
SSH 키 설정하기 (선택 사항)
HTTPS 방식은 매번 인증 정보를 입력해야 하는 불편함이 있습니다. SSH 키를 설정하면 이러한 번거로움을 줄일 수 있습니다:
1. SSH 키 생성
# ED25519 알고리즘 사용 (권장)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 또는 RSA 방식 (더 넓은 호환성)
# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
2. SSH 공개키 확인
# ED25519 키인 경우
cat ~/.ssh/id_ed25519.pub
# RSA 키인 경우
# cat ~/.ssh/id_rsa.pub
3. GitLab에 SSH 키 등록
- GitLab에 로그인합니다.
- 오른쪽 상단의 프로필 아이콘을 클릭하고 Preferences를 선택합니다.
- 왼쪽 사이드바에서 SSH Keys를 클릭합니다.
- 위에서 확인한 SSH 공개키를 복사하여 Key 필드에 붙여넣습니다.
- 제목을 입력하고 (예: "My Work Laptop") Add key 버튼을 클릭합니다.
4. SSH 연결 테스트
ssh -T git@gitlab.com
성공적으로 설정되면 "Welcome to GitLab, @username!" 메시지가 표시됩니다.
자주 발생하는 문제 및 해결 방법
원격 저장소 URL 변경이 필요한 경우
git remote set-url origin [새_URL]
인증 정보 저장 (HTTPS 방식 사용 시)
git config --global credential.helper store
로컬 브랜치 이름 변경이 필요한 경우
git branch -m [기존_이름] [새_이름]
예: master 브랜치를 main으로 변경
git branch -m master main
원격 저장소에 이미 파일이 있는 경우 (README, LICENSE 등)
이 경우 먼저 원격 저장소의 변경 사항을 가져와야 합니다:
git pull --rebase origin main
그런 다음 푸시를 시도합니다:
git push -u origin main
"Peer's Certificate issuer is not recognized" 오류
신뢰할 수 없는 인증서 문제가 발생하는 경우:
git config --global http.sslVerify false
보안상의 이유로 이 설정은 임시 해결책으로만 사용하는 것이 좋습니다.
GitLab에서 프로젝트 확인
모든 단계를 성공적으로 완료했다면, GitLab 웹사이트에서 프로젝트를 확인할 수 있습니다. 업로드된 파일과 커밋 기록이 보일 것입니다.
결론
이제 Bash를 사용하여 기존 프로젝트를 GitLab에 올리는 방법을 배웠습니다. 이 과정은 처음에는 복잡해 보일 수 있지만, 몇 번 반복하면 쉽게 익힐 수 있습니다.
Git과 GitLab을 활용하면 코드 버전 관리와 협업이 훨씬 효율적으로 이루어집니다. 특히 팀 프로젝트에서는 GitLab의 머지 리퀘스트, 이슈 트래킹, CI/CD 파이프라인 등 다양한 기능을 활용할 수 있습니다.
'Development Tools > git' 카테고리의 다른 글
Git 고급 기능과 워크플로우 최적화 - 프로 개발자로 레벨업하기 (2) | 2025.06.20 |
---|---|
Git 충돌(Conflict) 해결 완벽 가이드 - 머지 충돌 정복하기 (1) | 2025.06.19 |
Git 기본 명령어 완전 정복 - 개발자 필수 가이드 (3) | 2025.06.17 |
GitLab에 HTTPS 보안 적용하기: 안전한 개발 환경 구축 가이드 (0) | 2025.05.03 |
Git 소개와 설치 방법 완벽 가이드 (0) | 2025.05.02 |