1. Git
Git은 분산형 버전 관리 시스템(DVCS)으로, 소스 코드와 같은 파일의 변경 사항을 추적하고 여러 사용자가 동시에 작업할 수 있도록 지원합니다.
2005년에 리누스 토르발스에 의해 개발되었습니다.
1) 주요 특징
빠른 속도: 로컬에서 작업할 수 있어 네트워크에 의존하지 않고 빠르게 버전을 관리할 수 있습니다.
비선형 개발 지원: 여러 브랜치를 생성하여 독립적으로 작업한 후, 이를 병합할 수 있습니다.
데이터 무결성: 각 커밋은 고유한 체크섬(커밋 ID)을 가지며, 이를 통해 데이터의 무결성을 보장합니다.
2. GitHub
GitHub는 Git을 기반으로 한 웹 호스팅 서비스로, 개발자들이 소스 코드를 공유하고 협업할 수 있는 플랫폼입니다.
GitHub를 통해 프로젝트를 공개하거나 비공개로 관리할 수 있으며, 다양한 협업 도구를 제공합니다.
1) 주요 기능
코드 호스팅: Git 저장소를 클라우드에서 관리하며, 다른 사용자와 쉽게 공유할 수 있습니다.
이슈 트래킹: 프로젝트의 문제를 관리하고 추적할 수 있는 기능을 제공합니다.
풀 리퀘스트: 다른 사용자의 변경 사항을 리뷰하고 병합하는 과정을 지원합니다.
CI/CD 통합: GitHub Actions를 통해 지속적 통합 및 배포(CI/CD)를 자동화할 수 있습니다.
2) 장점
(1) 손쉬운 클라우드 관리
GitHub은 클라우드 기반으로 모든 버전 관리 기능을 제공하므로, 별도의 인프라를 관리할 필요가 없습니다. 이는 특히 소규모 팀이나 스타트업에서 즉시 사용 가능한 환경을 제공합니다.
(2) 광범위한 커뮤니티와 생태계
GitHub은 오픈 소스 프로젝트의 중심지로 자리 잡고 있으며, 방대한 커뮤니티와 다양한 플러그인 및 확장 기능을 제공합니다. 이를 통해 개발자들은 여러 도구와 서비스를 쉽게 통합할 수 있습니다.
(3) 강력한 협업 도구
Pull Request(PR)와 Issue Tracker 기능을 통해 개발자 간의 협업이 용이합니다. 코드 리뷰 기능도 잘 정비되어 있어 팀원 간 피드백이 원활하게 이루어질 수 있습니다.
(4) GitHub Actions로 CI/CD 지원
GitHub Actions를 통해 지속적 통합 및 배포(CI/CD) 파이프라인을 쉽게 설정할 수 있습니다. 이를 통해 코드 품질을 자동으로 검증하고 배포를 자동화할 수 있습니다.
(5) 버전 관리
GitHub은 개발자들이 시간이 지남에 따라 코드의 변경 사항을 추적하고 관리할 수 있도록 하여 필요한 경우 이전 버전으로 롤백하는 것을 용이하게 합니다.
(6) 오픈 소스 프로젝트 기여
GitHub은 많은 오픈 소스 프로젝트가 호스팅되는 플랫폼으로, 개발자들이 쉽게 프로젝트를 찾고 기여할 수 있는 기회를 제공합니다.
(7) 통합(Integration)
GitHub은 다양한 도구 및 서비스와 통합되어 기존 워크플로우에서 쉽게 사용할 수 있습니다. 이는 개발자들이 효율적으로 작업할 수 있도록 돕습니다.
(8) 보안 기능
GitHub은 보안을 중요시하며, 코드와 데이터를 보호하기 위한 2요소 인증 및 암호화와 같은 기능을 제공합니다.
3) GitHub 가입하기
GitHub를 사용하기 위하여 GitHub와 Postman과 Spring Boot 세가지 프로그램을 설치하겠습니다.
1) GitHub 가입 및 설치
(2) Postman가입 및 설치
(3) Spring Boot 사용법
(4) Github에 파일 이동 및 복사
'Install > API Install' 카테고리의 다른 글
62. [ JAVA ] Spring Boot를 이용한 API 통신 : 유튜브 API 세팅 (0) | 2025.01.12 |
---|---|
51. [ JAVA ] Spring Boot를 이용한 API 통신 : Naver API 세팅 (1) | 2025.01.10 |
49. [ JAVA ] application.yml 파일설정 및 FileZilla설치 방법 (0) | 2025.01.09 |
45. [ JAVA ] Spring Boot에 JWT적용하여 구현: 기초 세팅 (1) | 2025.01.03 |
40. [ JAVA ] API 문제 풀이 : Spring Boot와 MySQL (초기세팅) (0) | 2024.12.21 |