잃어버린 코드를 되찾는 Git 마법
클라우드 IDE의 코드 동기화 문제로 인한 작업 손실 경험을 계기로 버전 관리 시스템(VCS)의 중요성을 강조함
Git의 기본 개념과 GitHub 저장소 연동 방법을 단계별로 설명하며 개발 워크플로우의 안정성 확보를 목표로 함
`git init`, `git add`, `git commit`, `git push` 등 핵심 Git 명령어 학습을 통해 코드 변경 이력 관리 및 협업 환경 구축 기반 마련
버전 관리 시스템(VCS) 도입의 필요성
클라우드 기반 IDE의 코드 동기화 실패와 같은 예기치 못한 상황은 데이터 손실(Data Loss)이라는 치명적인 결과를 초래할 수 있다.
작업 이력 부재: 변경 사항이 저장되지 않으면 이전 상태로 복구 불가
협업의 어려움: 여러 개발자가 동시에 작업 시 충돌 및 혼란 야기
코드 안정성 저하: 오류 발생 시 신속한 롤백(Rollback) 메커니즘 부재
이러한 문제를 해결하기 위해 Git과 같은 버전 관리 시스템(VCS)은 코드 스냅샷(Code Snapshot)을 생성하고 관리함으로써 개발 과정의 안정성과 효율성을 극대화한다.
Git 설치 및 초기 설정 가이드
본문은 Windows, macOS, Linux 환경별 Git 설치 방법을 상세히 안내한다.
설치 확인: `git --version` 명령어로 설치 여부 확인
Windows: `winget` 또는 공식 설치 프로그램 사용
macOS: Homebrew를 이용한 `brew install git` 실행
Linux: 각 배포판 패키지 관리자(apt, dnf, pacman) 활용
설치 후에는 `git config --global user.name` 및 `git config --global user.email` 명령어를 통해 개발자 정보(Identity)를 설정해야 하며, 이는 커밋 기록에 영구적으로 포함된다.
로컬 Git 저장소 초기화 및 커밋(Commit) 과정
로컬 프로젝트 디렉토리에서 `git init -b main` 명령어를 실행하면 메인 브랜치(Main Branch)를 가진 Git 저장소가 생성된다.
파일 스테이징(Staging): `git add .` 명령어로 현재 디렉토리의 모든 변경 사항을 스테이징 영역에 추가하여 Git이 추적하도록 함
커밋(Commit): `git commit -m "Commit Message"` 명령어로 스테이징된 변경 사항을 로컬 저장소에 스냅샷으로 기록
커밋 메시지는 명령형(Imperative Mood)으로 작성하는 것이 권장되며, 이는 Git 자체의 컨벤션을 따른다.
GitHub 저장소 생성 및 로컬 연동
GitHub 웹사이트에서 새 저장소를 생성한 후, 로컬 프로젝트와 연결하는 과정은 다음과 같다.
GitHub 저장소 생성: 웹 인터페이스를 통해 저장소 이름 설정 및 초기화 (README, .gitignore 등은 선택 사항)
로컬 저장소 연결: `git remote add origin <repository_url>` 명령어로 로컬 Git 저장소에 원격 저장소(Remote Repository) 주소를 등록
코드 푸시(Push): `git push -u origin main` 명령어를 사용하여 로컬의 `main` 브랜치 변경 사항을 GitHub의 `origin` 원격 저장소로 업로드
`-u` 플래그는 로컬 브랜치와 원격 브랜치를 연결하여 향후 푸시(Push) 작업을 간소화한다.
향후 Git 워크플로우 및 .gitignore 활용
기본 설정 완료 후, 개발자는 `git status`, `git add`, `git commit`, `git push` 네 가지 핵심 명령어로 일상적인 워크플로우를 관리할 수 있다.
`git status`: 현재 브랜치, 커밋 상태, 변경 사항 등을 확인하여 작업 현황 파악
`.gitignore` 파일: 빌드 결과물, 민감 정보 등 불필요하거나 비공개되어야 할 파일/디렉토리를 Git 추적에서 제외하는 규칙 정의
이러한 과정을 통해 개발자는 코드 변경 이력을 체계적으로 관리하고, 안정적인 개발 환경을 구축할 수 있다.