Git 이란?
소스 코드의 버전 이력을 관리하고, 협업을 효과적으로 돕는 분산형 버전 관리 소프트웨어
Git 장점
1. 개발 히스토리 관리 - 언제, 누가, 어떤 변경을 했는지 추적
2. 버전 롤백 - 이전 버전으로 코드를 되돌릴 수 있다.
3. 효율적인 협업 - 브랜치를 통한 독립 작업, 병합을 통한 협업 환경 제공
gitignore 란?
.gitignore 파일은 Git이 버전관리에 제외할 파일이나 디렉토리를 지정하는 설정파일 (리소스, 빌드 파일, 환경설정 파일 등)
GitHub 란?
Git으로 저장된 내역들을 원격으로 저장하고 관리하는 서비스. Pull Request, Issue 관리 등 협업에 최적화
Git 기초 설정
# Git 저장소 초기화
git init
# GitHub 와 연결하고 싶다면 이메일 연동 필요
git config --global user.email "이메일 주소"
git config --global user.name "유저 이름"
Git 명령어
스테이징 / 커밋 / 푸시
git status # 현재 변경사항/스테이징 상태확인
git add "파일명" # 스테이징(변경된 파일추적)
git commit -m "변경사항 메시지" # 커밋(변경사항 버전 저장)
git push origin "브랜치명" # 푸시(원격저장소에 업로드)
로그 확인
git log # 로그 상세정보
git log --oneline # 로그 요약
브랜치 관리
git branch "브랜치명" # 브랜치 생성
git switch "브랜치명" # 브랜치 변경
병합
# 병합할 브랜치 지정
git merge "브랜치명"
커밋 수정
git commit -amend
커밋 취소
git reset "커밋 해시" # 커밋 취소
git reset --hard "커밋 해시" # 커밋 + 수정사항 모두 삭제
git revert "커밋 해시" # 기존 커밋을 무효화하는 새로운 커밋 생성
reset 은 커밋 자체를 삭제하지만 revert 는 취소 커밋을 추가하여 이력을 보존하고 안전 (공유 브랜치에서는 revert 사용 추천)
커밋 해시는 git log --oneline 명령어로 확인 가능
임시 저장
git stash (push) # 메시지 없이 임시 저장
git stash push -m "메시지" # 임시 저장
git stash list # 저장된 stash 목록 확인
git stash show # stash 상세 내용 확인
git stash apply # 적용 (기록 유지)
git stash pop # 적용 후 삭제
git stash drop # 특정 stash 삭제
git stash clear # 모든 stash 삭제
변경 사항을 임시 저장하는 기능으로 커밋하지 않은 상황에서 다른 일을 하고 싶은 경우 사용
커밋 작성 원칙
- 하나의 작업은 하나의 커밋에 작성하기
- 한 커밋에 2개 이상의 작업을 넣지 않기
- 커밋 메시지는 목적을 드러내며 작성하기 (+깃모지 활용)
참조 : https://gitmoji.dev/