Git과 GitHub를 연동한 후, 형상관리를 위해 Git의 기본적인 워크플로우를 이해해야 합니다. 이 섹션에서는 변경사항 스테이징, 커밋, 푸시(Push), 풀(Pull) 등의 핵심 기능과 사용법을 다룹니다.
1. Git의 기본 워크플로우 이해하기
Git은 로컬 저장소와 원격 저장소 간의 데이터를 동기화하며 동작합니다. 작업 흐름은 크게 다음과 같습니다:
- 로컬에서 코드 수정
- 수정된 내용을 스테이징(Stage)
- 스테이징된 변경 사항을 커밋(Commit)
- 원격 저장소로 푸시(Push)
- 원격 저장소의 최신 변경 사항을 풀(Pull)
2. 변경사항 스테이징(Staging)
스테이징은 변경된 파일을 커밋 전에 선택하는 단계입니다. 이 과정은 로컬 저장소의 변경 사항을 커밋할 준비를 합니다.
Eclipse에서 스테이징하는 방법
- Eclipse에서 프로젝트를 수정합니다.
- Git Staging 뷰를 엽니다:
- Window > Show View > Other > Git > Git Staging을 클릭합니다.
- Unstaged Changes 영역에서 변경된 파일이 표시됩니다.
- 커밋할 파일을 선택하고 Add to Index 버튼(또는 드래그)을 클릭하여 스테이징합니다.
- 선택된 파일은 Staged Changes 영역으로 이동합니다.
3. 커밋(Commit)
커밋은 스테이징된 변경 사항을 로컬 저장소에 저장하는 작업입니다. 커밋 메시지를 작성하여 변경 사항의 목적을 명확히 기록합니다.
Eclipse에서 커밋하는 방법
- Git Staging 뷰에서 Commit Message 입력란에 메시지를 작성합니다.
- 예: "Fix login bug" 또는 "Add README file"
- Commit 버튼을 클릭합니다.
- 이제 변경 사항이 로컬 저장소에 커밋되었습니다.
4. 원격 저장소로 푸시(Push)
로컬 저장소에 커밋된 내용을 원격 저장소(GitHub)로 업로드합니다. 푸시는 프로젝트 팀원들과 작업 내용을 공유하는 중요한 단계입니다.
Eclipse에서 푸시하는 방법
- Git Repositories 뷰를 엽니다:
- Window > Show View > Other > Git > Git Repositories를 클릭합니다.
- 로컬 저장소를 선택한 후, 마우스 오른쪽 클릭하여 Push Branch를 선택합니다.
- 원격 저장소 URL과 인증 정보를 입력합니다(최초 1회 설정).
- Next > Finish 버튼을 클릭하면 변경 사항이 GitHub로 푸시됩니다.
5. 원격 저장소에서 풀(Pull)
다른 팀원이 원격 저장소에 푸시한 내용을 로컬 저장소로 가져오는 작업입니다. 이를 통해 최신 코드를 동기화할 수 있습니다.
Eclipse에서 풀하는 방법
- Git Repositories 뷰에서 로컬 브랜치를 선택하고 마우스 오른쪽 클릭합니다.
- Pull을 선택합니다.
- Eclipse가 원격 저장소에서 최신 변경 사항을 가져와 로컬 저장소에 적용합니다.
6. 변경 사항 확인하기
Git의 변경 사항을 확인하면 현재 작업 상태를 쉽게 파악할 수 있습니다.
변경 사항 확인
- Git History:
- Team > Show in History를 클릭하여 커밋 기록을 확인합니다.
- Diff 보기:
- Git Staging 뷰에서 파일을 더블 클릭하면 수정된 내용을 확인할 수 있습니다.
요약
Git의 기본 사용법은 스테이징, 커밋, 푸시, 풀이라는 간단한 단계로 구성됩니다. Eclipse에서는 이러한 작업을 직관적인 인터페이스를 통해 처리할 수 있습니다. Git을 꾸준히 사용하며 워크플로우를 익히면, 협업과 형상관리가 한층 더 효율적으로 이루어질 것입니다. 다음 섹션에서는 브랜치 관리 및 협업에 대해 알아보겠습니다.
'Eclipse & GitHub 형상관리' 카테고리의 다른 글
3.7. 실전 팁과 문제 해결 (0) | 2025.01.03 |
---|---|
3.6. 협업과 브랜치 관리 (0) | 2025.01.03 |
3.4. GitHub와 연동하기 (0) | 2025.01.03 |
3.3. Eclipse와 Git 통합 준비 (0) | 2025.01.03 |
3.2. 사전 준비 (1) | 2025.01.03 |