카테고리 없음

7. IntelliJ IDEA에서 GitHub을 활용한 소스코드 형상관리 및 협업 개발 가이드

backend 따라쟁이 2025. 1. 30. 00:34

1. Git과 GitHub 소개

Git은 분산 버전 관리 시스템으로, 코드 변경 사항을 추적하고 협업을 원활하게 할 수 있도록 도와줍니다. GitHub은 Git을 기반으로 한 온라인 코드 저장소로, 협업을 지원하는 다양한 기능을 제공합니다. IntelliJ IDEA는 Git과 GitHub을 완벽하게 통합하여 사용할 수 있는 강력한 IDE입니다.

2. IntelliJ IDEA에서 GitHub 설정하기

2.1 Git 설치 및 IntelliJ 설정

  1. Git이 설치되어 있는지 확인합니다. (설치되지 않았다면 Git 공식 웹사이트에서 다운로드 후 설치)
  2. IntelliJ IDEA에서 File -> Settings -> Version Control -> Git으로 이동하여 Git 실행 파일 경로를 지정합니다.
  3. Test 버튼을 눌러 정상적으로 작동하는지 확인합니다.

(그림) Git 실행 파일 경로 설정

2.2 GitHub 계정 연동

  1. File -> Settings -> Version Control -> GitHub으로 이동합니다.
  2. Add account를 클릭하여 GitHub 계정을 추가합니다.
  3. GitHub에 로그인하여 연동을 완료합니다.

(그림) Add account(계정추가) 클릭, "GitHUB를 통해 로그인..." 선택

 

(그림) GitHUB 연동을 위한 로그인 버튼 클릭

 

(그림) "Authorize JetBrains" 버튼 클릭, GitHUB 로그인 화면이 오픈되면 ID/Pawssword 입력
(그림) InteliJ IDEA에 GitHUB 계정이 추가됨(정상 완료된 화면)

3. 새 프로젝트를 GitHub에 업로드하는 방법

  1. IntelliJ에서 프로젝트를 생성합니다.
  2. VCS -> Enable Version Control Integration을 선택하고 Git을 선택합니다.
  3. VCS -> Import into Version Control -> Share Project on GitHub("GitHub에 프로젝트 공유")을 선택합니다.
  4. 저장소 이름을 입력하고 Share 버튼을 눌러 GitHub에 업로드합니다.
    GitHub 저장소(repository)가 생성되고 프로젝트 파일이 업로드되었으며, 이제부터 GitHub를 통해 형상관리를 하면됨. 
  5. VCS -> Commit을 통해 변경 사항을 기록하고 Push 버튼을 눌러 GitHub에 반영합니다.

(그림) Enable Version Control Integration("버전 관리 통합 활성화...") 메뉴 클릭
(그림) Enable Version Control Integration("버전 관리 통합 활성화...") 팝업 화면에서 Git 선택

 

(그림) VCS에 Share Project on GitHub("GitHub에 프로젝트 공유") 메뉴 클릭

 

(그램) GitHub에 생성할 repository 저장소 이름과 설명을 작성하고 공유 버튼을 클릭함
(그림) VCS -> Commit을 통해 변경 사항을 기록하고 Push 버튼을 눌러 GitHub에 반영함

4. 기본적인 Git 명령어 및 IntelliJ에서 활용하기

  • commit: 변경 사항을 로컬 저장소에 저장
  • push: 로컬 변경 사항을 원격 저장소(GitHub)에 반영
  • pull: 원격 저장소(GitHub)의 최신 변경 사항을 가져옴
  • fetch: 원격 저장소 변경 사항을 확인하되 적용하지 않음
  • merge: 분기된 브랜치를 하나로 합침

(그림) 변경 항목 체크 후 "Commit"을 클릭하여 변경 사항을 로컬 저장소에 저장
(그림) "push" 로컬 변경 사항을 원격 저장소(GitHub)에 반영

 

5. 팀 협업을 위한 GitHub 활용법

5.1 브랜치 전략

  1. master/main: 안정적인 버전이 있는 기본 브랜치
  2. feature: 새로운 기능 개발을 위한 브랜치
  3. hotfix: 긴급 수정 사항을 처리하는 브랜치
  4. develop: 개발용 브랜치

5.2 협업을 위한 GitHub Workflow

  1. Fork & Pull Request 방식
    • 다른 사람의 저장소를 복사(Fork) 후 수정하고 PR(Pull Request)을 생성하여 변경 요청을 보냄
  2. Branch & Merge 방식
    • 협업자가 같은 저장소에서 브랜치를 생성하고 작업 후 Merge Request 진행

5.3 충돌 해결 방법

  1. git pull로 최신 변경 사항을 가져옵니다.
  2. 충돌 발생 시 VCS -> Local Changes에서 충돌 파일을 확인합니다.
  3. 직접 코드 수정 후 Commit & Push를 진행합니다.

6. GitHub Actions로 CI/CD 자동화

GitHub Actions를 활용하면 코드가 변경될 때 자동으로 테스트, 빌드, 배포할 수 있습니다.

  1. .github/workflows/ci.yml 파일을 생성합니다.
  2. 기본적인 CI/CD 설정을 추가합니다.
name: CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Setup Java
        uses: actions/setup-java@v1
        with:
          java-version: '11'
      - name: Build
        run: mvn clean package

7. 실제 협업 프로젝트 진행 예제

7.1 팀 프로젝트 GitHub 설정

  1. 팀원이 동일한 GitHub 저장소를 클론(Clone)합니다.
  2. 각자 feature-개발명 브랜치를 생성하여 작업합니다.
  3. 작업 완료 후 Commit & Push를 합니다.
  4. Pull Request를 생성하여 코드 리뷰를 진행합니다.
  5. 검토 후 Merge를 수행하여 변경 사항을 반영합니다.

7.2 실전 프로젝트에서 GitHub 활용하기

  • Issue Tracking: 버그 및 기능 추가 사항을 관리하기 위해 GitHub Issues를 활용
  • Code Review: PR을 활용하여 코드 품질을 유지
  • Project Board: GitHub Projects를 활용한 작업 흐름 관리

마무리

이 가이드를 통해 IntelliJ IDEA에서 GitHub을 활용한 형상관리와 협업 방법을 익힐 수 있습니다. Git과 GitHub을 활용하여 효과적인 팀 개발을 경험해 보세요!