Git은 분산형 버전 관리 시스템
코드의 변경 이력을 관리하고 여러 개발자가 동시에 협업할 수 있도록 도와주는 도구
GitHub는 Git을 기반으로 한 원격 저장소 서비스
Git을 사용하면 각 개발자가 자신의 로컬 저장소를 관리하면서도, GitHub 같은 원격 저장소를 통해 팀원들과 협업할 수 있음.
✔ 효율적인 협업: 각 개발자가 로컬 저장소에서 작업한 후, 원격 저장소를 통해 공유 가능
✔ 버전 관리: 코드 변경 사항을 기록하고, 원하는 시점으로 쉽게 되돌릴 수 있음
✔ 오류 수정 용이: 특정 변경 사항을 추적하여 버그를 쉽게 찾아 수정 가능
Git은 크게 3가지 작업 영역을 가지고 있음:
Working Directory (작업 영역)
Staging Area (스테이징 영역)
git add 명령어를 사용하면, 수정된 파일이 이곳에 올라감.Repository (저장소)
git push 명령어로 로컬 저장소의 변경 사항을 원격 저장소에 반영할 수 있음.Git에서 커밋(Commit) 은 코드의 특정 상태를 저장하는 것과 같음.
즉, 현재 작업 내용을 사진 찍듯이 기록하는 것.
✔ 고유한 hash 값을 가지고 있어 변경 이력을 추적할 수 있음
✔ 작성자, 날짜, 커밋 메시지가 포함됨
✔ 자주 커밋하고 상세한 메시지를 작성하면 협업과 디버깅에 유리함
커밋은 버전과 같음.
자주 커밋하면 세밀한 변경 이력을 남길 수 있어서,
나중에 특정 시점으로 되돌리거나 변경 사항을 쉽게 확인할 수 있음.
💡 예시:
📌 커밋 1 → 📌 커밋 2 → 📌 커밋 3
이렇게 점점 변경 사항이 쌓이며, 이전 버전으로 되돌릴 수도 있음.
HEAD는 현재 작업 중인 커밋을 가리키는 포인터.
💡 HEAD 활용 예시
✔ git checkout HEAD~1 → 이전 커밋으로 이동
✔ git reset --hard HEAD → 최신 커밋 상태로 되돌리기
오류가 발생했을 때 HEAD를 이동하면 과거와 현재를 비교해서 어디서 문제가 발생했는지 쉽게 찾을 수 있음.
추후에는 git init, git add, git commit, git push 같은 명령어도 같이 정리해보면 더 도움이 될 것임