[Git] GitHub Commit 마스터하기
KUKJIN LEE • 4개월 전 작성
GitHub를 사용하면서 가장 기본이 되는 개념이 바로 'Commit'입니다.
Commit이란?
Commit은 Git에서 가장 기본적인 작업 단위로, 프로젝트의 '스냅샷'을 찍는 것과 같습니다.
-
변경사항의 기록: 파일이나 디렉토리의 변경사항을 Git 저장소에 기록합니다.
-
버전 생성: 각 Commit은 고유한 해시 식별자를 가지며, 이를 통해 특정 시점의 프로젝트 상태로 돌아갈 수 있습니다.
-
협업의 기준점: 팀원들과 코드를 공유하고 병합할 때 Commit을 기준으로 작업합니다.
Commit하는 방법
Commit을 생성하는 기본적인 과정은 다음과 같습니다.
-
변경사항 스테이징
// 특정 파일 Commit
git add <파일명>
// 모든 파일 Commit
git add .
-
Commit 생성
git commit -m "커밋 메시지"
-
Commit 확인 (선택)
git log
효과적인 Commit 전략
-
작은 단위로 자주 Commit하기:
-
큰 변경사항을 한 번에 Commit하기보다는, 논리적으로 구분되는 작은 변경사항들로 나누어 Commit하세요.
-
이는 변경사항을 추적하고 문제가 발생했을 때 디버깅하기 쉽게 만듭니다.
-
-
명확한 설명의 Commit 메시지 작성
- feat, fix, build, chore, ci, docs, style 등 상황에 맞는 타입과 내용 작성하기
feat: 사용자 로그인 기능 추가
Git Commit (고급)
사실상 개발하면서 지금까지 사용해본 적 없는 다양한 Commit 규칙과 기술이 존재하지만 고급 부분은 학습한 내용을 바탕으로 간단하게 설명만 드리겠습니다. (필자도 사용 경험이 없습니다.)
-
대화형 스테이징
변경사항을 부분적으로 선택하여 스테이징할 수 있습니다.
git add -i
-
Commit 수정: 가장 최근의 Commit을 수정하고 싶다면
git commit --amend
-
Rebase를 이용한 Commit 정리: 여러 개의 Commit을 하나로 묶거나 순서를 변경하고 싶다면
git rebase -i HEAD~n
고급이라고 해봐야 기술이 좋아져서 Github Desktop, Sourcetree 등을 활용하면 위 내용을 쉽게 활용할 수 있고, Commit Graph도 쉽게 확인할 수 있기 때문에 내용 확인 후 툴을 사용하는게 더 좋아보입니다. 협업의 경우에는 Co-author라는 Commit Rule도 있지만, 실적 관리가 존재하지 않는 이상 feat 또는 fix와 같은 Commit Type으로 Pull Request를 보냅니다.
의미 있는 Commit, 명확한 Commit 메시지, 그리고 GitHub의 다양한 기능과의 결합을 통해 더욱 효율적인 개발 환경을 구축해 나가시기 바랍니다.