Git 정리

hizikang01·2025년 4월 10일

목차


1. Git이란?

Git은 소스 코드를 버전별로 관리할 수 있게 해주는 분산형 버전 관리 시스템(DVCS)
배포 환경에서는 코드 변경 내역 추적, 롤백, 자동 배포(CI/CD) 등 핵심 역할을 담당


2. Git과 GitHub의 차이

GitGitHub
버전 관리 도구Git 저장소를 웹에서 호스팅 및 협업할 수 있게 도와주는 플랫폼
로컬에서 사용온라인에서 코드 공유/리뷰/배포까지 가능

Git은 도구, GitHub는 협업 + 배포를 위한 플랫폼


3. Git 기본 명령어

명령어설명
git init로컬 저장소 생성
git clone [URL]원격 저장소 복제
git status변경된 파일 상태 확인
git add [파일명]파일을 스테이징 영역에 추가
git commit -m "메시지"변경 내용을 저장소에 커밋
git push원격 저장소에 업로드
git pull원격 저장소에서 최신 코드 받기

4. 브랜치와 병합(Merge)

브랜치

기능별로 독립적인 작업 공간을 분리하기 위한 도구
예: main, feature/signup, hotfix/header-bug

병합(Merge)

  • 개발 브랜치 → 메인 브랜치 병합
  • 보통 Pull Request를 통해 코드 리뷰 후 병합

충돌(Conflict)

  • 같은 파일/라인 수정 시 발생
  • 직접 충돌 해결 → 커밋

5. Git 기반 배포 흐름

기본 흐름

  1. GitHub 저장소에 코드 업로드 (git push)
  2. 서버 또는 클라우드가 GitHub의 변경 감지
  3. 자동 배포 스크립트 실행 (ex: GitHub Actions, Netlify, Vercel, AWS CodePipeline)

배포에 자주 쓰이는 Git 워크플로우

git checkout -b feature/기능명
# 코드 수정
git add .
git commit -m "feat: 기능 추가"
git push origin feature/기능명
# PR → main 브랜치에 merge → 자동 배포 트리거

6. 협업에서의 Git 활용

  • Branch 전략 : 기능별 작업 분리
  • Pull Request : 코드 리뷰 및 승인 프로세스
  • CI/CD 연동 : 푸시 또는 병합 시 자동 테스트/배포 트리거

7. 자주 발생하는 오류와 해결법

상황해결 방법
fatal: not a git repositorygit init 또는 경로 확인
충돌 발생충돌 파일 직접 수정 후 커밋
push 오류 (non-fast-forward)git pull 후 병합 처리

8. Git 사용 팁

  • .gitignore로 민감하거나 불필요한 파일은 제외하자
  • 커밋 메시지 컨벤션 지키기 (feat:, fix: 등)
  • 협업 시 rebase보다는 merge를 권장 (충돌 발생 시점 명확)
  • GitHub Actions, Netlify, Vercel 등과 연동해 자동화 배포하기

0개의 댓글